blog.icewolf.ch

Let's talk about IT!
posts - 527, comments - 71, trackbacks - 0

Powershell

Scripting - the new way
Exchange Environment Report

Hallo zusammen, Ich habe nach einem Exchange Report gesucht, welcher mir folgende Daten liefert: Serverinformationen Anzahl Mailboxen pro Datenbank DB Whitespace Freier Disk Space Da habe ich was cooles gefunden - Steve Goodman hat ein super Powershell Script erstellt. Damit kann man sich die Reports auch bequem mailen lassen. http://www.stevieg.org/2011/06/exchange-environment-report/ Mit dem Parameter "-ScheduleAs:DOMAIN\user" wird auch gleich ein Sheduled Task angelegt. powershell -c "pushd C:\Install\EnvironmentReport; C:\Install\EnvironmentReport\Get-ExchangeEnvironmentReport.ps1 -HTMLReport c:\report.html -SendMail:$true -MailFrom:admin@icewolf.ch -MailTo:a.bohren@icewolf.ch -MailServer:172.21.175.11" Grüsse Andres Bohren

posted @ Tuesday, September 27, 2011 9:41 PM | Feedback (0) | Filed Under [ Exchange Powershell ]

Powershell pipe output to Clipboard

Hallo zusammen. Ich bin kürzlich über eine coole Powershell funktion gestolpert. Mit | clip kann der output direkt in die Zwischenablage (clipboard) gepiped werden. Das erstpart mühsames markieren und kopieren. clip /? Get-Service | clip Nun ist der Output von Get-Service in der Zwischenablage. Toll oder? Grüsse Andres Bohren

posted @ Sunday, July 31, 2011 1:54 PM | Feedback (0) | Filed Under [ Powershell ]

Tail with Powershell

Hallo zusammen, Wer kennt das nicht, ein Logfile wird von einem Programm geschrieben. Dauernd den Texteditor zu öffnen und wieder zu schliessen, nur um zu sehen ob eine neue Zeile geschrieben wurde, das kann es auf die Dauer nicht sein. Unix Unter Unix gibt es den Tail Befehl. http://de.wikipedia.org/wiki/Tail_(Unix) tail -f [Pfad / Dateiname] Powershell Das ganze geht aber auch mit Powershell Get-Content [Pfad / Dateinahme] -Wait Baretail Oder man greift gleich zu einer Freeware wie Baretail, bei welcher auch gleich ein Syntax Highlighting möglich ist. http://www.baremetalsoft.com/baretail/ Grüsse Andres Bohren

posted @ Wednesday, June 22, 2011 7:14 PM | Feedback (0) | Filed Under [ Powershell Linux ]

How to document your Powershell Scripts

Hallo zusammen, Fügt man einem Powershell Script den PARAM Bloch hinzu, so kann man die Parameter mit den Tabs auswählen und mit help [scriptfile.ps1] wird die Synthax ausgegeben. PARAM (  [string]$Domain = "test.com",  [string]$Email = "@test.com" ) Fügt man noch die folgenden Zeilen hinzu, so hat man eine vollständige Online Dokumentation. <# .SYNOPSIS      A summary of what this script does      Appears in all basic, -detailed, -full, -examples  .DESCRIPTION      A more in depth description of the script      Should give script developer more things to talk about           Becomes: "DETAILED DESCRIPTION"      Appears in basic, -full and -detailed  .NOTES      Additional Notes, eg      File Name ...

posted @ Thursday, June 16, 2011 12:04 AM | Feedback (0) | Filed Under [ Powershell ]

Pharse XML Files with Powershell and show results in a chart

Hallo zusammen, Habe mir aufgrund des Eurotiefstands mal ein Powershell zur Anzeige des Eurokurses geschrieben. Den Eurokurs gibts als XML zum Pharsen hier: http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml Schon cool, wie einfach es ist XML Files mit Powershell zu pharsen. $xml = New-Object xml $xml.Load('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml') $xml.Envelope.Cube.Cube $xml.Envelope.Cube.Cube Das ganze kann in ein Array ($allrates) gepackt werden und dann ausgewertet werden $xml = New-Object xml $xml.Load('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml') $allrates = @{} $xml.Envelope.Cube.Cube.Cube | ForEach {  $currency = $_.currency;  $rate = $_.rate;  $allrates.$currency = $rate } $datum = $xml.Envelope.Cube.Cube.time Write-Host "Datum:" $datum write-Host "All exchange rates:" $allrates write-Host "Specific exchange rate CHF:" $allrates["CHF"] Oder man lädt sich die Microsoft Chart Controls for Microsoft .NET Framework 3.5 herunter und lässt die Wechselkurse in einem Chart darstellen. # load the appropriate...

posted @ Friday, May 27, 2011 11:34 PM | Feedback (1) | Filed Under [ Powershell ]

Remove sIDHistory

Hallo zusammen, Die sIDHistory wird ja in Migrationsszenarien verwendet um mit dem neuen Benutzer auf Ressourcen in der alten Domain zugreifen zu können. Versucht man das Attribut sIDHistory im AD zu ändern... ...erhält man ein "Access denied" Dies ist auch in ADSI Edit so. Fazit: Das Attribut sIDHistory lässt sich weder in "ADSI Edit" noch in "Active Directory Users and Computers" bearbeiten. Und das, obwohl der Account Miglied von "Schema Admins, Enterprise Admins, Domain Admins" ist, wie der folgende Befehl zeigt: gpresult /r Wie man aber das sIDHistory Attribut nach der Migration wieder loswird, wird mit den folgenden Powershell befehlen gezeigt. Add-PSSnapin quest.activeroles.admanagement Get-QADUser -Identity "test01" -IncludeAllProperties | fl *sid* Get-QADUser...

posted @ Wednesday, May 25, 2011 12:01 PM | Feedback (0) | Filed Under [ Windows Powershell ]

Log your commands in Powershell with start-transcript

Hallo zusammen, Die Tips in der Exchange Management Shell sind doch immer wieder spannend. Der Tip Nummer 47 fand ich besonders spannend. get-tip 47 Das Start-Transcript ist auch auf der Technet Library dokumentiert. http://technet.microsoft.com/en-us/library/dd347721.aspx start-transcript [Filename] -append do your work stop-transcript Und so sieht das Transcript File dann aus. Grüsse Andres Bohren

posted @ Friday, May 13, 2011 10:45 PM | Feedback (0) | Filed Under [ Powershell ]

Search Active Directory with Powershell

Hallo zusammen Wie einfach es ist mit Powershell die AD zu durchsuchen habe ich in dem folgenden kleinen Script dokumentiert. $SearchVal = "a.bohren" $resolve = "(|(sAMAccountName=$SearchVal)(cn=$SearchVal)(displayName=$SearchVal)(givenName=$SearchVal)(employeeID=$SearchVal))" $filter = "(&(objectCategory=Person)(objectClass=User)$resolve)"     $searcher = New-Object System.DirectoryServices.DirectorySearcher $filter $searcher.PageSize = 1000 $searcher.SearchScope = "Subtree" $userlist = $searcher.FindAll() write-host "Found: " $userlist.count $userlist Grüsse Andres Bohren

posted @ Thursday, April 07, 2011 10:16 PM | Feedback (0) | Filed Under [ Powershell ]

Exchange Web Services Managed API 1.1 How To

Hallo zusammen Ich habe mir mal die Exchange Webservices Managed API 1.1 angeschaut MSDN Exchange Web Services Managed API 1.1 Exchange Web Services Managed API 1.1 Download Installation der Web Services Managed API Programmieren mit VB 2008 Express Beim Programmieren mit Visual Basic 2008 Express / Visual Basic 2010 Express muss eine Referenz zu der Web Services Managed API DLL hinzugefügt werden. Auf Durchsuchen klicken und die DLL (Microsoft.Exchange.WebServices.dll) auswählen. In den Projekteigenschaften sieht das dann anschliessend so aus. Ich habe mir ein kleines Tool gebastelt und einige Eingenschaften über die EWS Managed API abgefragt. Imports Microsoft.Exchange.WebServices.Data Imports Microsoft.Exchange.WebServices '# Connect to EWS Managed...

posted @ Monday, January 03, 2011 11:28 PM | Feedback (0) | Filed Under [ Exchange Powershell ]

Export AD User and Title to CSV

Hallo zusammen Weil die Titel der Mitarbeiter überprüft werden sollen musste ich heute einen Export der Active Directory User mit den Titeln machen. Das geht mit Quest ActiveRoles Management Shell for Active Directory wirklich locker von der Hand. Add-PSSnapin quest.activeroles.admanagement $cred=Get-Credential Connect-QADService ‘server.domain.tld:389’ –credential $cred Get-QADUser | select-object sn, givenName, title | export-csv C:\ad-name-title.csv -encoding "unicode" Grüsse Andres Bohren

posted @ Monday, January 03, 2011 3:58 PM | Feedback (0) | Filed Under [ Powershell ]

Full Powershell Archive

Powered by:
Powered By Subtext Powered By ASP.NET