Lantranet [dot] com

bloggin' like a Professional

  • Navigator

    open all | close all
  • Kategorien

  • Neueste Beiträge

Useful Exchange PowerShell Snippets

Erstellt von Administrator am 15. August 2012

Hier gibt es mal ein paar, für mich nützliche, Powershell-Befehle, die einige Verschachtelungen bieten und in der GUI nicht abgefragt werden können

 

Automapping für deaktivieren (ab 2010 SP2)
Get-Recipient | ?{$_.recipientTypeDetails -like „RoomMailbox“} | Add-MailboxPermission -User USER -AccessRights FullAccess -AutoMapping $true

 

TrackingLog per Powershell durchsuchen – Probleme bei der Erweiterung eines Verteilers finden
Get-MessageTrackingLog -EventID „Expand“ -ResultSize Unlimited -Start „20.12.2011 12:00:00“ | where {$_.RecipientStatus -eq „250 2.1.5 RESOLVER.GRP.Expanded; distribution list expanded“ -and $_.RecipientCount -eq „0“}|ft Time*,Sender,Relat*,messagesubject

 

Anzeigen aller User, die OWA nutzen:
Get-Mailbox| where-object {$_.ProtocolSettings -like „*owa§1*“}|sort-object alias

 

Anzeigen aller User, die ActiveSync nutzen:
Get-CASMailbox | where-object {$_.ActiveSyncEnabled -like „True“}|sort-object name

 

Übersicht über ActivSyncDevice mit erfolgreichem Sync in den letzten Wochen
Get-Mailbox -ResultSize:Unlimited | ForEach {Get-ActiveSyncDeviceStatistics -Mailbox:$_.Identity} | Where {$_.LastSuccessSync -gt ’11/30/2011′}|ft Id*,LastSuccessSync*

 

Anzeigen aller User aus einer bestimmten OU:
Get-Mailbox| where-object {$_.OrganizationalUnit -like „test.local/User „}|sort-object alias

 

Anzeigen bestimmter Mailboxstatistiken:
Get-MailboxStatistics | ft displayname,*ItemCount,total* -GroupBy StorageLimitStatus

 

Anzeigen der Mailboxstatistiken in MB:
Get-mailbox -database aegis| Get-MailboxStatistics |ft displayname, @{label=“Total Size (MB)“;expression={$_.TotalItemSize.Value.ToMB()}},@{label=“Items“;expression={$_.ItemCount}}

 

Anzeigen bestimmter Mailboxstatistiken für User einer definierten OU:
Get-Mailboxstatistics| where-object {$_.storagegroupname -like „user“}|ft displayname,itemcount,totalitemsize

 

Gesamten Forrest berücksichtigen:
$AdminSessionADSettings.ViewEntireForest = $True

 

Verschieben der Mailboxen aller User, die in einer bestimmten OU sind (2007 > 2010 new-mailboxmoverequest):
Get-Mailbox| where-object {$_.OrganizationalUnit -like „test.local/User“ -and $_.database -notlike „EX07\User\User“}|move-mailbox -TargetDatabase „EX07\User\User“

 

Alle Mitglieder aller Verteilerruppen auflisten:
foreach ($group in Get-DistributionGroup) {get-distributiongroupmember $group | ft alias, @{label=’Test1′;expression={$group.name}}}

 

spezielle Rechte Abfragen
Get-MailboxPermission User| Where-Object {($_.AccessRights -eq ‚Fullaccess‘)}

Get-ADPermission User| Where-Object {($_.ExtendedRights -eq ‚Send-As‘)}

 

spezielle Rechte Abfragen – DB
Get-Mailbox -Database Test|Add-MailboxPermission -user SG_Mailbox_FullAccess -AccessRights FullAccess

 

Ergebnisse exportieren:
Get-Mailbox | Export-Csv c:\test.csv

Get-Mailbox | Out-File c:\test.txt

 

wichtige Operatoren bei Abfragen
-lt — „Kleiner als“

-le — „Kleiner als“ oder „Gleich“

-gt — „Größer als“

-ge — „Größer als“ oder „Gleich“

-eq — „Gleich“

-ne — „Ungleich“

-like – „Gleich“; verwendet Platzhalterzeichen für Musterübereinstimmung

 

leere Abfrage
-notlike “

 

Dateioperation – erste Zeile und letztes Zeichen in der Zeile Löschen
$Quelle=“d:\test.txt“

$Ziel=“d:\testneu.txt“

$Datei = Get-Content $Quelle

 

Get-Content $Quelle| foreach-object {$_.TrimEnd(‚;‘)| Out-File -FilePath $Ziel -append}

get-content $ziel | select -Skip 1 | set-content „$ziel-temp“

move „$ziel-temp“ $ziel -Force

 

siehe auch:

http://msg-blog.de/2008/05/22/das-kleine-exchange-powershell-1×1/#comments
http://www.msxfaq.de/code/powershell.htm
http://www.microsoft.com/germany/technet/scriptcenter/topics/msh/cmdlets/where-object.mspx

Tags: ,
Abgelegt unter Exchange, Microsoft Exchange, PowerShell, Troubleshooting | Kommentare deaktiviert für Useful Exchange PowerShell Snippets