friedensbringer
Goto Top

Bestimmte geöffnete Datein auf dem Server (2008 R2 mit Batch File schließen

Hallo zusammen,

ich bin auf der Suche nach einer Möglichkeit bestimmte geöffnete Datein auf dem Server (2008 R2) mit einem Batch File zu schließen.
Es handelt sich dabei um *.xls oder *.xlsx Files, deren Dateiname und Pfad ich aber eindeutig identifizieren kann.

Eigentlich genau der gleiche Fall wie hier:

Geöffnete Datei per Batch Datei auf dem Server schließen und löschen

Leider schaffe ich es auch mit der psfile.exe nicht...

Ich habe einen Ordner am Server erstellt in dem eine *.bat und die psfile.exe liegen.

Ich habe es sowohl so probiert:

psfile \\fileserver test.xls -c

psfile \\fileserver\ordner\test.xls -c

In der Freigabe- und Speicherverwaltung am Server unter "Geöffnete Dateien verwalten" ist die Datei nach ausführen der bat-Datei leider immer noch geöffnet.

Kann mir hier jemand weiterhelfen?
Gerne natürlich auch einen Alternativvorschlag, wichtig wäre nur, dass ich die Datei damit schließen kann, weil diese immer wieder geöffnet ist und
dann nicht entsprechend verarbeitet werden kann.

Vielen Dank und lg

Olli

Content-Key: 220878

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

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

Member: killtec
killtec Oct 31, 2013 at 10:56:21 (UTC)
Goto Top
Hi,
versuch es doch mal mit dem lokalem Pfad.

Gruß
Member: colinardo
colinardo Oct 31, 2013 at 11:37:30 (UTC)
Goto Top
Hallo Olli,
ein mögliches Script zum Thema habe ich hier bereits gepostet.

Grüße Uwe
Member: friedensbringer
friedensbringer Oct 31, 2013 at 12:44:57 (UTC)
Goto Top
Hallo Killtec,

danke, das war der entscheidende Hinweis - nun klappt es! face-smile

Hallo Uwe,

ich habe das auch wie von dir beschrieben ausprobiert, da klappt es leider noch nicht.
Ich habe einen Ordner mit einer schließen.vbs und einer schließen.bat Datei angelegt.

Inhalt schließen.vbs:

COMPUTERNAME="FILESERVER"
NAME_DES_FILES = "C:\ordner\test.xls"

Set objShell = WScript.CreateObject("WScript.Shell")
Set objConnection = GetObject("WinNT:" & COMPUTERNAME & "/LanmanServer")
Set colResources = objConnection.Resources

For Each objResource in colResources
if Instr(1,LCase(objResource.Path),LCase(NAME_DES_FILES),1) > 0 then
wscript.echo "Schließe Resource mit der ID: " & objResource.Name & " von User: " & objResource.User
objShell.Run "net file """ & objResource.Name & """ /close"
end if
Next

Inhalt schließen.bat:

cscript
NOLOGO schließen.vbs

Was mache ich da noch falsch?

Danke und lg

Olli
Member: colinardo
colinardo Oct 31, 2013 at 12:52:33 (UTC)
Goto Top
Sollte wie im Beitrag geschrieben auf dem Server ausgeführt werden, und probier mal nicht den Pfad anzugeben sondern nur den Dateinamen. Entsprechende Rechte auf dem Server mit der die Batch ausgeführt wird müssen natürlich auch vorhanden sein.
G. Uwe