Hallo Leser,

heute mal wieder ein Praxistipp zum Thema PowerShell und Active Directory. Ein Kollege trat heute an mich heran, und fragte ob es nicht möglich sei alle Windows Server Systeme aus der Domäne auszulesen mit folgenden Informationen:

  • Servername
  • Windows Server Betriebssystem
  • Windows Server Betriebssystem Version
  • IP Adresse

Klar sag ich, und habe ein Zeile Script in der PowerShell geschrieben und die Informationen in eine CSV-Datei exportiert.

Get-ADComputer -Filter 'OperatingSystem -like "Windows Server*"' -Properties 'OperatingSystemVersion', 'OperatingSystem', 'IPv4Address' | Select Name, OperatingSystem, OperatingSystemVersion, IPV4Address | Export-Csv C:\Server.csv

Damit werden alle Server aus der Gesamten Domäne mit den gewünschten Informationen in die CSV-Datei asugegeben. die datei kann nun in Excel weiter verarbeitet werden:

  1. Excel öffnen
  2. Ribbon-Menü „Daten“
  3. Aus Text (Bild 1) –> Server.csv auswählen und Importieren wählen
  4. Im Textkonvertierungsassistent in schritt 1 auf „weiter“ klicken (Bild 2)
  5. Die Checkbox „Komma“ auswählen –> Weiter (Bild 3)
  6. Datenformat auf Standard belassen und mit Fertig stellen bestätigen (Bild 4)
  7. Bestätigen in welcher Zelle die Daten eingefügt werden sollen (Bild 5)
  8. Fertig

Zum Schutz von Firmenbezogen informationen sind Servername und IP Adresse nicht einsehbar.

Update 18.09.2013: Es können selbstverständlich noch viel mehr Informationen ausgelesen werden. Über die erweiterte Ansicht im AD ein Serverobjekt aufrufen und dort über den Atribut-Editor die LDAP-Informationen mit in die Abfrage übergeben. Möchte ich beispielsweise den „LastLogonTimestamp“ mit auslesen, so füge ich diesen in meiner Abfrage mit an:

Get-ADComputer -Filter 'OperatingSystem -like "Windows Server*"' -Properties 'OperatingSystemVersion', 'OperatingSystem', 'IPv4Address', 'LastLogonTimestamp' | select Name, OperatingSystem, OperatingSystemVersion, IPV4Address, @{N='LastLogonTimestamp'; E={[DateTime]::FromFileTime($_.LastLogonTimestamp)}} | Export-CSV C:\Server.csv

Damit ich die Zeit auch korrekt angezeigt bekomme muss ich diese in der Abfrage entsprechend formatieren :)

Viel Spass beim abfragen :)