5.4 KiB
Exchange Powershell
Dienstag, 10. April 2012
23:58
$sc = [char]34 Erzeugt ein Leerzeichen
Beispiel : $sc$installdate$sc $sc$vendor$sc $sc$version$sc $sc$computer$sc $sc$name$sc"
$cr = [char]010 neue Zeile erzeugen
Listet Mailboxen nach Größe sortiert in MB auf
Get-MailboxStatistics -database ransgdb01 |sort totalitemsize -desc| foreach-object {write-host $_.displayname $cr $_.totalitemsize.value.tomb()}
Serachindex einer Datenbank testen :
Get-Mailboxdatabase "Server\Database" | Get-mailbox | Test-ExchangeSearch --IndexingTimeout 20 | Format-table
User Berechtigungen auslesen :
Get-Mailbox | Get-MailboxPermission | ? { $_.user -like "*User*" } | ft identity,accessrights --AutoSize
Impersonation Berechtigungen setzen für einen User:
New-ManagementRoleAssignment --Name:impersonationAssignmentName --Role:ApplicationImpersonation --User:serviceAccount
Aus <https://msdn.microsoft.com/en-us/library/office/bb204095(v=exchg.140).aspx>
Anzahl der User und oder Mitglieder einer AD Gruppe anzeiegen
(Get-ADGroup <group> -Properties *).member.count
Aus <https://www.reddit.com/r/PowerShell/comments/1bsubp/get_the_number_of_users_in_an_ad_group/>
PowerShell-Skriptausführung generell freigeben
Um Skriptdateien der PowerShell ausführen zu können, müssen Sie deren Ausführung zulassen. Öffnen Sie das Eingabefenster der Windows PowerShell über den Kontextmenübefehl Als Administrator ausführen und tippen Sie dann den Befehl
Set-ExecutionPolicy Unrestricted
ein. Anschließend betätigen Sie die Nachfrage über die (J)-Taste. Der Ansatz ist zwar eine Art Holzhammer-Methode, um die Skriptausführung vollständig frei zu geben. Aber zum Ausprobieren auf einem lokalen System durchaus zu gebrauchen (gibt halt schnelle Resultate).
Aus <http://www.borncity.com/blog/2010/02/24/powershell-skripte-lassen-sich-nicht-ausfhren/>
Falls der Zugriff auf die Registrierung scheitert
In den Microsoft Windows 7-Foren gibt es Anwender [4], bei denen der Zugriff auf den Registrierungsschlüssel mit der Richtlinie mit einer Fehlermeldung
Set-ExecutionPolicy : Access to the registry key
'HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell'
is denied.
abbricht. In diesem Fall fehlt der betreffende Registrierungseintrag. Öffnen Sie die Registrierung im Registrierungseditor und navigieren Sie zum Schlüssel:
HKLM\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
Anschließend fügen Sie den Wert (REG_SZ) mit dem Namen ExecutionPolicy ein und setzen diesen auf "RemoteSigned". Dies erfordert administrative Berechtigungen. Danach lässt sich in der PowerShell Konsole mit Get-ExecutionPolicy prüfen, ob es geklappt hat.
Aus <http://www.borncity.com/blog/2010/02/24/powershell-skripte-lassen-sich-nicht-ausfhren/>
Exchange 2010 PST Export :
New-ManagementRoleAssignment --Role "Mailbox Import Export" --User AD\ExAdmin
Get-(MS)Hotfix|Where-Object {$_.HotfixID -match "KB2953522"}
Aus <https://gallery.technet.microsoft.com/scriptcenter/PowerShell-script-to-list-0955fe87/description>
gebt einfach CERTUTIL in einer Kommando-Box ein, dann bekommt ihr alle möglichen Daten einer möglich installierten PKI im AD
Powershell Exchange Remote Connect
$userCredential=Get-Credential
$session=New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://PBGMXP002.puw.lan/Powershell/ -Authentication Kerberos -Credential $usercredential
Import-PSSession $session
Shutdown /r /m \\Computer /t 05 /f REBOOT
Shutdown /s /m \\Computer /t 05 /f HERUNTERFAHREN
Shutdown /i Grafikeingabe
Vollsatändig, Autosize, "..."
Vollständige Liste in Powershell anzeigen lassen :
If the result is truncated as seen in the above figure, you can set the value $FormatEnumerationLimit to display the complete list
$FormatEnumerationLimit =-1
Oder
Get-ReceiveConnector |select -ExpandProperty *remoteip*
Exchange shell starten im Script :
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
. $env:ExchangeInstallPath\bin\RemoteExchange.ps1
Connect-ExchangeServer -auto
Task mit höherer Priorität starten dann geht das auch als Task
CMD Datei erstellen mit folgendem Inhalt :
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command G:\Administration\Exchnage2010-Sicherung\export.ps1 > d:\pst1\exportqueue.txt
[Windows 10 apps deinstallieren microsoft]{.underline}
Get-AppxPackage Microsoft.Office.Onenote | Remove-AppxPackage
Restore-Mailbox -Identity "Hansen, Stefan" -RecoveryDatabase SWNRECOVERYDB -RecoveryMailbox "Hansen, Stefan" -TargetFolder Wiederherstellung