Script: Security-Group finden auf einem FileShare [PowerShell]

Guten Abend,

möchte man wissen, wann eine bestimmte Security-Group in einem Pfad das erste mal „erscheint“, beziehungsweise welcher Ordner (nicht vererbt) davon betroffen ist, kann man das mit Get-ACL und entsprechender Stop-Condition machen. Doch Wenn man Pfade hat, die länger als 256 Zeichen sind und die Vererbung ignorieren muss, wird das ganze schon spannender.

Dafür habe ich zwei Module in der Technet-Gallery gefunden, welche hier einem das Leben deutlich erleichtern können. Get-Childitem2 und NTFSSecurity

Stellen wir uns vor, die Security-Group heißt: sec.grp.Budget und wir wollen das Laufwerk X: durchsuchen. Die Ordner-Struktur ist länger als 256 Zeichen in der tiefsten Ebene.

Dann würde unser Befehl wie folgt aussehen:

Für solche Module kann man im täglichen Administrator-Wahnsinn echt dankbar sein.

In dem Sinne, frohes Prüfen.

Script: Multiple Variables Return Invoke-Command (PSCustomObject – Array) [PowerShell]

Guten Tag,

vor kurzem habe ich euch gezeigt wie man via einem PSCustomObject – Array mit der Powershell einen schönen CSV-Export erstellen kann. Nun wollte ich Remote auf einem Computer via Invoke-Command und ScriptBlock mehrere Variablen dem Host zurück übergeben. Dafür kann man auch wunderbar das PSCustomObject -Array nutzen.

 

Hier ein kleines Beispiel:

In dem ScriptBlock kann man natürlich auch noch das Array mittels Foreach und ähnlichem füllen.

 

In dem Sinne: Frohes Remoting.

Script: PSCustomObject – Array Export to CSV [PowerShell]

Hallo, da ich in letzter Zeit vermehrt CSV-Dateien aus der PowerShell heraus erstellt habe, wollte ich dies für mich gerne strukturierter und einfacher machen. Da ich so auch den Output von mehreren Befehlen in ein Object umleiten kann, in einem Array sammeln und schließlich dieses zu einer CSV-Datei bündeln kann.

Gehen wir davon aus, wir haben folgende Liste und dies wären Angestelltennummern:

Und nun möchten wir für diese Nummern eine Liste mit möglicher IP-Adresse, einen Usernamen und einem Computernamen generieren.

Dafür kann man folgendes Script verwenden:

Und der Inhalt unserer CSV-Datei sieht nun wie folg aus:

In dem Sinne: fröhliches Kommata separieren.

Script: Alle jemals angemeldeten Benutzer auslesen über die Registry [PowerShell]

Guten Tag,

vor kurzem wollte ich alle jemals angemeldeten Benutzer auf einem Windows Computer auslesen, über die Registry.
Unter dem Pfad: HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\ sieht man zwar die SID der einzelnen Benutzer und unter dem Key ProfileImagePath kann man auch den Namen auslesen, aber das geht durchaus mit der PowerShell und dem Befehl Get-Childitem schneller.
Man muss nur in einem Foreach-Block für jeden gefunden SubFolder unter ProfileList die SID übersetzen.

Der Code dafür sieht wie folgt aus:

Mittels: $($_.Name| split-path -leaf) lassen wir uns nur die SID ausgeben, da der Name des SubFolder die SID der Benutzer ist.

Indem Sinne, viel Spaß beim durchstöbern, ob sich nicht doch jemand anderes an dem System angemeldet hat.

 

1 2 3 5