|
Nedávno jsem hledal, jak se v powershellu dělá něco, o čem jsem věděl, že už jsem to použil. Některé věci člověk občas potřebuje, ale ne zase tak často, aby si je pamatoval. Tak dneska
nabídnu několik malých ... ani se nedá říct scriptů .... spíš konstrukcí, které někdy můžou ulehčit život. Nejsem autor všech těch kousků. Některé jsem pouze upravil. Stejně tak počítám
s tím, že si je budete upravovat pro vlastní použití.
Jak změnit časovou zónu pro kalendář mailboxu Meetingroom:
Add-MailboxPermission -Identity Meetingroom -user administrator -AccessRights fullaccess
Set-MailboxRegionalConfiguration -Identity Meetingroom -TimeZone "Tokyo Standard Time"
Remove-MailboxPermission -Identity Meetingroom -user administrator -AccessRights fullaccess
Seznam možností je tady: http://msdn.microsoft.com/en-us/library/ms912391%28v=winembedded.11%29.aspx
Kdo ze členů týmu mě má nastaveno v mailboxu jako delegáta:
Get-DistributionGroupMember "DL My Team" | foreach {Get-MailboxCalendarSettings -Identity $_.Name} | where {$_.ResourceDelegates -like "*Kovar*"} | fl name, resourcedelegates
Použití -filter při hledání recipienta dle e-mail adresy:
$adresa = 'honza@tnx.cz'
$filtr = 'emailaddresses -like "*SMTP:'+$adresa+'*"'
get-recipient -resultsize unlimited -filter $filtr
Hledáme recipienta (příjemce zní divně), který má tuto e-mail adresu, ale nemá ji jako primární. Můžeme použít konstrukci s "| where", ale tohle je efektivnější. Narazil jsem na problémy,
že i když byl dotaz na první pohled poskládaný dobře, tak nefungoval. Tento funguje. V tomto případě je adresa zadaná ručně, ale samozřejmě by šlo načítat adresy z CSV nebo dostávat odjinud.
Tady jde pouze o to, jak správně poskládat ten filtr.
Změna jakéhokoliv AD atributu pomocí Quest snapinu.:
Import-CSV C:\users.csv | ForEach-Object { Set-QADUser $_.samAccountName -ObjectAttributes @{employeeid=$_.employeeid} }
V příkladu měním employeeid. Data načítám z CSV, kde mám v jednom sloupci SamAccountName a ve druhém EmployeeId. Samozřejmě musíte mít na tom stroji, kde to spouštíte, nainstalováno
rozšíření od Questu a načíst snapin. ( add-pssnapin quest.activeroles.admanagement )
Zpracování IIS logů a vygenerování ActiveSync reportů:
$datum = (get-date).adddays(-5)
Get-Childitem C:\inetpub\logs\LogFiles\W3SVC1 | where-object {$_.lastwritetime -gt $datum} | ForEach { Export-ActiveSyncLog -FileName $_.FullName -OutputPath “d:\install” -OutputPrefix $_.Name.Replace(“.log”,”_”) -UseGMT:$true}
V prvním řádku říkám, za jak dlouho chci procházet logy. A pak už do místa specifikováného u -OutputPath vytvářím reporty.
Nastavení oprávnění do kalendáře ve vícejazyčné firmě:
$cal = Get-MailboxFolderStatistics -Identity "Kovar Honza" | where {$_.FolderType -eq "Calendar"}
add-MailboxFolderPermission -identity "honza@tnx.cz:\$($cal.name)" -AccessRights PublishingAuthor -User default
Pokud přepnete mailbox do jiného jazyka, tak se přejmenuje i složka Calendar. V mém případě na "Kalendář". Pokud pracujete pro firmu, která má pobočky po světě a víte, že mají mailboxy
v místních jazycích, tak tohle pomůže. Na prvním řádku načtu informace o složce, která má typ Calendar. A na druhém použiju její jméno pro přídání oprávnění. Pokud měníte oprávnění někomu,
kdo už nějaké oprávnění na té složce má, tak místo add-mailboxfolderpermission musíte použít set-mailboxfolderpermission.
Export informací o příchozích zprávách z tracking logu do csv:
Get-MessageTrackingLog -Start "11/11/2011 11:00AM" -End "11/11/2011 3:00PM" -Recipient "honza@tnx.cz" -Server EX01 -eventid Receive | select Timestamp, ServerIP, MessageSubject, Sender | export-csv "d:\export\tracking.txt" -encoding UTF8 -NoTypeInformation
Tohle se hodí hlavně ve chvíli, kdy je toho moc a hodí se třeba excel na prohledávání. A nebo když uživatel tvrdí, že mail nedostal a vy potřebujete dokázat, že dostal. UTF-8 se hodí, pokud
se používá třeba čeština v názvech mailboxů.
Jak získat informace o SAN discích připojených pomocí volume mount pointů:
Get-WmiObject Win32_Volume -ComputerName Server001 | Select Name, Capacity, FreeSpace, BootVolume, SystemVolume, FileSystem | FT
Pokud máte třeba 20 disků připojených ze SANu, tak místo toho, abyste dávali každému písmeno a dělali z něj disk, tak na jednom disku (anchor disku) vytvoříte strukturu a přimountujete
jednotlivé disky do této struktury. Takže budete mít třeba d:\disk01, d:\disk02, d:\disk03, atd. No a pokud potřebujete vědět, jak na tom jsou s místem, tak tohle je přesně ten dotaz.
|