derwowusste
Goto Top

Powershell Equivalent von net file und net session

Moin Powershell-Experten.

Kann mir jemand passende Befehle für die Powershell liefern, um auf einem Fileserver die Sessions und die geöffneten Dateien anzuzeigen?

Hintergrund: bislang nutzte ich net session/net file. Leider lassen diese eine Filterung mittels findstr nur bedingt zu, da die Ausgabe von
net file |findstr Ordnername
nur dann etwas findet, wenn "Ordnername" nicht gerade hinter Pünktchen verschwindet.

Content-ID: 282847

Url: https://administrator.de/forum/powershell-equivalent-von-net-file-und-net-session-282847.html

Ausgedruckt am: 19.12.2024 um 22:12 Uhr

122990
122990 14.09.2015 aktualisiert um 16:56:37 Uhr
Goto Top
DerWoWusste
DerWoWusste 14.09.2015 um 17:03:17 Uhr
Goto Top
Hi grexit.

Kannte ich. Das arbeitet mit der net.exe, soweit ich sehe und lässt auch (soweit ich durchblicke) keine Filterung zu.
122990
122990 14.09.2015 aktualisiert um 17:08:01 Uhr
Goto Top
Kennst du openfiles.exe ?
http://ss64.com/nt/openfiles.html
DerWoWusste
DerWoWusste 14.09.2015 um 17:19:27 Uhr
Goto Top
Ja. Wie erreichst Du damit das Ziel?
122990
Lösung 122990 14.09.2015 aktualisiert um 17:50:50 Uhr
Goto Top
openfiles /query /FO CSV /V /NH | ?{$_ -match '^"'} | convertfrom-csv -Header Host,Kennung,User,Typ,Lock,Modus,Pfad | ogv  
DerWoWusste
DerWoWusste 14.09.2015 aktualisiert um 17:36:55 Uhr
Goto Top
Nimm's mir nicht krumm, aber Du wirfst mir zum 3. Mal einen Knochen hin und denkst Dir wohl, dass ich schon selber verstehen müsste, wie Du damit zum Ziel gekommen bist.
Edit: und jetzt änderst Du den Code ab.
DerWoWusste
DerWoWusste 14.09.2015 aktualisiert um 18:00:10 Uhr
Goto Top
Ich schau mir derweil mal Get-SmbOpenFile an.
Edit: und dann gibt's auch noch get-smbsession
122990
122990 14.09.2015 aktualisiert um 17:43:22 Uhr
Goto Top
Habe die Zeile oben nochmal oben geändert. Dachte wenn du hier Powershell anfragst das du es grundlegend verstehst ?!

Also zerlegt funktioniert das folgendermaßen:
openfiles /query /FO CSV /V = Listet die Files im CSV-Format
?{$_ -match '^"'} = nimmt nur Zeilen die mit Anführungszeichen beginnen
convertfrom-csv = konvertiert das CSV-Konstrukt in ein Objekt
ogv = gibt das ganze in einem Grid-View aus

Statt ogv kannst du natürlich ein where-Object verwenden um nach dem Pfad zu filtern.

Beispiel:
openfiles /query /FO CSV /V /NH | ?{$_ -match '^"'} | convertfrom-csv -Header Host,Kennung,User,Typ,Lock,Modus,Pfad | ?{$_.Pfad -like '*datei.docx'}  
122990
122990 14.09.2015 aktualisiert um 17:46:37 Uhr
Goto Top
Zitat von @DerWoWusste:
Ich schau mir derweil mal Get-SmbOpenFile an.
Was es aber nur auf den aktuellen Systemen gibt. (Server2012R2/8.1). Wenn das der Fall ist reicht das ja.
DerWoWusste
DerWoWusste 14.09.2015 um 17:50:41 Uhr
Goto Top
Schon klar, das ist hier gegeben.

Ich finde Deine letzten Vorschläge sehr gut, vielen Dank dafür.
Dachte wenn du hier Powershell anfragst das du es grundlegend verstehst ?!
Das war nun weniger nett. Wenn Du mal etwas nicht verstehst, hoffst Du auch auf etwas weniger wortkarge Hilfe, oder nicht?
122990
122990 14.09.2015 aktualisiert um 18:56:50 Uhr
Goto Top
Zitat von @DerWoWusste:
Das war nun weniger nett. Wenn Du mal etwas nicht verstehst, hoffst Du auch auf etwas weniger wortkarge Hilfe, oder nicht?
Sorry, nicht missverstehen, war nicht meine Absicht. Wenn man dauernd damit umgeht vergisst man das manchmal.
Gelobe Besserung face-smile

Gruß grexit