zettelkasten/OneNoteExport/Technik/Powershell/Exchange 2010/01_Exchange Powershell.md
2023-08-17 19:32:37 +02:00

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/>

 

 

 

 

 

http://www.security-blog.eu/exchange-2010-sbs-2011-mailboxen-exportieren-importieren-bulk-massen-alle/

 

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

 

Aus <http://www.security-blog.eu/exchange-2010-sbs-2011-mailboxen-exportieren-importieren-bulk-massen-alle/>

 

 

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