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-Key: 282847

Url: https://administrator.de/contentid/282847

Printed on: April 19, 2024 at 13:04 o'clock

Mitglied: 122990
122990 Sep 14, 2015 updated at 14:56:37 (UTC)
Goto Top
Member: DerWoWusste
DerWoWusste Sep 14, 2015 at 15:03:17 (UTC)
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.
Mitglied: 122990
122990 Sep 14, 2015 updated at 15:08:01 (UTC)
Goto Top
Kennst du openfiles.exe ?
http://ss64.com/nt/openfiles.html
Member: DerWoWusste
DerWoWusste Sep 14, 2015 at 15:19:27 (UTC)
Goto Top
Ja. Wie erreichst Du damit das Ziel?
Mitglied: 122990
Solution 122990 Sep 14, 2015 updated at 15:50:50 (UTC)
Goto Top
openfiles /query /FO CSV /V /NH | ?{$_ -match '^"'} | convertfrom-csv -Header Host,Kennung,User,Typ,Lock,Modus,Pfad | ogv  
Member: DerWoWusste
DerWoWusste Sep 14, 2015 updated at 15:36:55 (UTC)
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.
Member: DerWoWusste
DerWoWusste Sep 14, 2015 updated at 16:00:10 (UTC)
Goto Top
Ich schau mir derweil mal Get-SmbOpenFile an.
Edit: und dann gibt's auch noch get-smbsession
Mitglied: 122990
122990 Sep 14, 2015 updated at 15:43:22 (UTC)
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'}  
Mitglied: 122990
122990 Sep 14, 2015 updated at 15:46:37 (UTC)
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.
Member: DerWoWusste
DerWoWusste Sep 14, 2015 at 15:50:41 (UTC)
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?
Mitglied: 122990
122990 Sep 14, 2015 updated at 16:56:50 (UTC)
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