wolf6660
Goto Top

Powershell geöffnete Datei auf dem Server schließen

Hi,

wir haben in der Firma mehre Excellisten bei den ein Userkreis lesen und ein kleiner Userkreis ändern Rechte hat. Nun kommt es ab und zu vor damit jemand der ändern Rechte hat die Datei nicht schließt und dann der andere keine Änderungen vornehmen kann und mich dann anruft damit ich diesen über den Server trenne.

Kann man so etwas per Powershell machen? Es ist in der Regel immer die gleiche Liste also z.B. Inventur.xlsx oder so.

Würde gerne den Username abfragen und dann bei Bedarf die Liste freigeben.

Mit openfiles /query /s servername bekomme ich alle geöffneten Dateien angezeigt. Wie kann ich dies nun einschränken auf z.B. den Pfad h:\Inventur\inventur.xlsx

Wie kann ich diese Datei am Schluß schließen?

Sorry für meine vielen Fragen ): Habe zwar schon einige Powershellskripte am laufen, aber ich mache mir jedesmal das Leben schwer da ich dies zu wenig nutze.


Danke

Content-ID: 667862

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

Ausgedruckt am: 06.10.2024 um 09:10 Uhr

14260433693
14260433693 04.09.2024 aktualisiert um 08:25:59 Uhr
Goto Top
https://learn.microsoft.com/en-us/powershell/module/smbshare/get-smbopen ...
Get-SmbOpenFile -ClientUserName "Domain\Blablub" | ? Path -like "*\inventur.xlsx" | Close-SmbOpenFile  
Oder
openfiles /query /s COMPUTER /FO CSV /V /NH | ?{$_ -match '^"'} | convertfrom-csv -Header Host,Kennung,User,Typ,Lock,Modus,Pfad | ?{$_.Pfad -like '*\inventur.xlsx'}  | %{openfiles /disconnect /s COMPUTER /id $_.Kennung}  
Gruß
mbehrens
mbehrens 04.09.2024 um 08:54:37 Uhr
Goto Top
Zitat von @Wolf6660:

wir haben in der Firma mehre Excellisten bei den ein Userkreis lesen und ein kleiner Userkreis ändern Rechte hat. Nun kommt es ab und zu vor damit jemand der ändern Rechte hat die Datei nicht schließt und dann der andere keine Änderungen vornehmen kann und mich dann anruft damit ich diesen über den Server trenne.

Kann man so etwas per Powershell machen? Es ist in der Regel immer die gleiche Liste also z.B. Inventur.xlsx oder so.

Würde gerne den Username abfragen und dann bei Bedarf die Liste freigeben.

Mit openfiles /query /s servername bekomme ich alle geöffneten Dateien angezeigt. Wie kann ich dies nun einschränken auf z.B. den Pfad h:\Inventur\inventur.xlsx

Wie kann ich diese Datei am Schluß schließen?

Mit Hilfe von Smb-CloseSmbFile. Das setzt natürlich eine funktionierende Datensicherung voraus.
NordicMike
NordicMike 04.09.2024 um 09:12:23 Uhr
Goto Top
Kontrolliere auch zusätzlich ob eine gleichnamige Datei mit einem Tilde Zeichen im Pfad abgelegt wurde. Dann kann es der nächste Client auch nicht mehr ohne Schreibschutz öffnen.
erikro
erikro 04.09.2024 um 09:48:09 Uhr
Goto Top
Moin,

eleganter wäre natürlich, die Datei zum gemeinsamen Bearbeiten freizugeben.

Liebe Grüße

Erik
Wolf6660
Wolf6660 04.09.2024 um 14:16:30 Uhr
Goto Top
Zitat von @14260433693:

https://learn.microsoft.com/en-us/powershell/module/smbshare/get-smbopen ...
Get-SmbOpenFile -ClientUserName "Domain\Blablub" | ? Path -like "*\inventur.xlsx" | Close-SmbOpenFile  
Oder
openfiles /query /s COMPUTER /FO CSV /V /NH | ?{$_ -match '^"'} | convertfrom-csv -Header Host,Kennung,User,Typ,Lock,Modus,Pfad | ?{$_.Pfad -like '*\inventur.xlsx'}  | %{openfiles /disconnect /s COMPUTER /id $_.Kennung}  
Gruß

Danke das hat funktioniert. Perfekt


Zitat von @erikro:

Moin,

eleganter wäre natürlich, die Datei zum gemeinsamen Bearbeiten freizugeben.

Liebe Grüße

Erik

Haben wir getestet. Nachdem ich wöchentlich die Datei reparieren musste bzw. neu Recovert habe haben wir das wieder abgeschaltet. Funktioniert nicht wirklich sehr zuverlässig.


Danke
NordicMike
NordicMike 04.09.2024 um 14:49:34 Uhr
Goto Top
Haben wir getestet. Nachdem ich wöchentlich die Datei reparieren musste bzw. neu Recovert habe haben wir das wieder abgeschaltet. Funktioniert nicht wirklich sehr zuverlässig.

Stimmt. Excel war noch nie richtig Multiuserfähig. Besser hingegen funktioniert das Online Excel mit OneDrive Speicherplatz. Aber eigentlich gehören gemeinsam verwaltete und produktive Daten in ein Tool, wie SAP oder CMS eine Datenbank oder sonst wo hin, nur nicht ins Excel oder Access face-smile