Version aller Exchangeserver auslesen:
Get-ExchangeServer | Sort-Object Name | ForEach {Invoke-Command -ComputerName $_.Name -ScriptBlock {Get-Command ExSetup.exe | ForEach{$_.FileVersionInfo}}} | Format-Table -Auto
ActiveSync Auswertung als HTML:
Get-ActiveSyncDevice | select userdisplayname,deviceaccessstate,deviceid,deviceuseragent | ConvertTo-Html | Out-File “$($pwd.path)\ActiveSyncDevices_$(get-date -f dd/mm/yyyy).html”
Zu Arrays etwas hinzufügen oder kürzen:
Set-DistributionGroup “Sample” -GrantSendOnBehalfTo @{remove=’dom10\user1′}
Set-DistributionGroup “Sample” -GrantSendOnBehalfTo @{add=’dom10\user1′,’dom10\user2′}
Ausgabelimit für Shell Commandos eliminieren:
$FormatEnumerationLimit =-1
Gelöschte Mailboxen per Powershell in Exchange 2010 finden:
Get-MailboxServer exsrv* | Get-MailboxStatistics | ?{$_.disconnectdate -ne $null -and $_.displayname -like “userxy*”} | ft displayname,servername,disconnectdate
Datenbanken nach Activationprefenz auf DAG Server verteilen:
[PS] C:\Program Files\Microsoft\Exchange Server\V14\scripts>.\RedistributeActiveDatabases.ps1 -DagName myDAG -BalanceDbsByActivationPreference -Confirm:$false
Mailboxstatistik erzeugen und per Mail verschicken
$rootou = [ADSI](“LDAP://ou=corp,dc=corp,dc=net”)
$ous = ($rootou.psbase.children | Where-Object {$_.psBase.schemaClassName -eq “OrganizationalUnit”} |Select-Object -expand Name)
#foreach ($ou in $ous) {Get-Mailbox -OrganizationalUnit “ou=$ou,ou=corp,dc=dom,dc=local” -resultsize unlimited | Get-MailboxStatistics | sort-object Totalitemsize -descending | select-object displayname,totalitemsize | ConvertTo-Html | Out-File C:\inetpub\wwwroot\stats\$ou-sizes.html}
$smtpclient = new-object system.net.mail.smtpClient
$mailmessage = new-object system.net.mail.mailmessage
$smtpclient.host = “smtphost.dom.local”
$mailmessage.from =”sender@dom.local”
#$mailmessage.to.add(“someone@dom.local“)
$mailmessage.subject =”Mailboxsize Statistics”
$mailmessage.isbodyhtml = $true
foreach ($ou in $ous) {$filename = “c:\inetpub\wwwroot\stats\$ou-sizes.html”;$att = new-object Net.Mail.Attachment($filename);$mailmessage.Attachments.Add($att)}
$mailmessage.Body = “Attached you find the mailboxstatistics”
##for ($i=0;$i -le 1;$i++){
##$i
#$smtpclient.send($mailmessage)
##}
Durchschnittliche Mailboxgröße ermitteln:
Get-Mailbox -OrganizationalUnit “ou=corp,dc=corp,dc=net” -resultsize unlimited | Get-
MailboxStatistics | %{$_.totalitemsize.value.tomb()} |measure-object –average