103148
22.03.2013, aktualisiert um 07:45:40 Uhr
4120
16
2
PCs in einer Domäne Abends gezielt runter fahren
Hallo,
ich habe schon etwas gesucht, aber nict so richtig was gefunden.
In einer w2k8 Domäne habe ich ca. 200 PC´s XP und W7.
Alle mit dem Namen FirmaCxxx, C steht für Client und xxx der Zähler von 001 - 500, aktiv sind ca. 200 PC´s.
Diese möchte ich gerne mit einem kleinen Tool gegen 21:00Uhr prüfen und wenn dieser an ist mit einer Meldung runter fahren.
Den shutdown Befehl kenne ich aber ich kann ihn nich in eine "Schleife" binden.
Es gibt dann noch paar PC´s die dürfen nicht runter gefahren werden zb FirmaC360 und FirmaC361.
Gruß
ich habe schon etwas gesucht, aber nict so richtig was gefunden.
In einer w2k8 Domäne habe ich ca. 200 PC´s XP und W7.
Alle mit dem Namen FirmaCxxx, C steht für Client und xxx der Zähler von 001 - 500, aktiv sind ca. 200 PC´s.
Diese möchte ich gerne mit einem kleinen Tool gegen 21:00Uhr prüfen und wenn dieser an ist mit einer Meldung runter fahren.
Den shutdown Befehl kenne ich aber ich kann ihn nich in eine "Schleife" binden.
Es gibt dann noch paar PC´s die dürfen nicht runter gefahren werden zb FirmaC360 und FirmaC361.
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 203769
Url: https://administrator.de/contentid/203769
Ausgedruckt am: 22.11.2024 um 17:11 Uhr
16 Kommentare
Neuester Kommentar
Hallo,
ich würde die Clients in eine Text-Datei ablegen und dieses mittel der For-Schleife dann auslesen und runterfahren.
Somit schließt Du die Clients aus, welche nicht runtergefahren werden sollen.
Es gibt hier einige Threads bzgl. auslesen einer Text-Datei mit anschließender Aktion.
Wie Du schon geschrieben hast, hast Du Dir den Shutdown-Befehl schon angeschaut.
Gruß Penny
ich würde die Clients in eine Text-Datei ablegen und dieses mittel der For-Schleife dann auslesen und runterfahren.
Somit schließt Du die Clients aus, welche nicht runtergefahren werden sollen.
Es gibt hier einige Threads bzgl. auslesen einer Text-Datei mit anschließender Aktion.
Wie Du schon geschrieben hast, hast Du Dir den Shutdown-Befehl schon angeschaut.
Gruß Penny
Guten Morgen zusammen,
Ich würde das mit einer Batch-Datei, aber ohne for-Schleife machen. einfach für jeden Client eine Zeile anlegen
Der Vorteil ist, wenn ein Kollege zu Dir sagt, "ich muss die kommende Nacht durcharbeiten", dann brauchst Du dessen PC nur in der Batch-Datei auszukommentieren.
Markus
Zitat von @Casa85:
Ist dies nicht per GPO möglich?
Computerkonfiguration->Systemsteuerungseinstellungen->Geplante Aufgaben?
Gruß
selbst wenn das geht, dann ist das zu unflexibel. Alle PCs die nicht herunter gefahren werden sollen (auch kurzfristig) müssten in eine eigene OU. Das ist so nicht umsetzbar.Ist dies nicht per GPO möglich?
Computerkonfiguration->Systemsteuerungseinstellungen->Geplante Aufgaben?
Gruß
Ich würde das mit einer Batch-Datei, aber ohne for-Schleife machen. einfach für jeden Client eine Zeile anlegen
shutdown -s -f -m \\FirmaC001 -C "Feierabend, ab nach Hause!" -t 60
shutdown -s -f -m \\FirmaC002 -C "Feierabend, ab nach Hause!" -t 60
... usw.
Markus
Zitat von @64748:
Guten Morgen zusammen,
> Zitat von @Casa85:
> ----
> Ist dies nicht per GPO möglich?
>
> Computerkonfiguration->Systemsteuerungseinstellungen->Geplante Aufgaben?
>
> Gruß
selbst wenn das geht, dann ist das zu unflexibel. Alle PCs die nicht herunter gefahren werden sollen (auch kurzfristig)
müssten in eine eigene OU. Das ist so nicht umsetzbar.
Guten Morgen zusammen,
> Zitat von @Casa85:
> ----
> Ist dies nicht per GPO möglich?
>
> Computerkonfiguration->Systemsteuerungseinstellungen->Geplante Aufgaben?
>
> Gruß
selbst wenn das geht, dann ist das zu unflexibel. Alle PCs die nicht herunter gefahren werden sollen (auch kurzfristig)
müssten in eine eigene OU. Das ist so nicht umsetzbar.
Natürlich ist es das!
Ich würde das mit einer Batch-Datei, aber ohne for-Schleife machen. einfach für jeden Client eine Zeile anlegen
Der Vorteil ist, wenn ein Kollege zu Dir sagt, "ich muss die kommende Nacht durcharbeiten", dann
brauchst Du dessen PC nur in der Batch-Datei auszukommentieren.
shutdown -s -f -m \\FirmaC001 -C "Feierabend, ab nach Hause!" -t 60
> shutdown -s -f -m \\FirmaC002 -C "Feierabend, ab nach Hause!" -t 60
> ... usw.
brauchst Du dessen PC nur in der Batch-Datei auszukommentieren.
Wozu 200 Zeilen Code schreiben?
Man muss nicht über Peking nach Rom. Die GPOs sind da schon völlig ausreichend.
Zitat von @mkuchen:
...
Wozu 200 Zeilen Code schreiben?
Man muss nicht über Peking nach Rom. Die GPOs sind da schon völlig ausreichend.
Wenn man das mit dem Windowseditor macht, dann hat man ein Problem. So eine Batch-Datei legt man einmal in Excel an und bearbeitet sie weiter in einem richtigen Editor....
Wozu 200 Zeilen Code schreiben?
Man muss nicht über Peking nach Rom. Die GPOs sind da schon völlig ausreichend.
mkuchen, wenn Du meinst, dass das per GPO zu lösen ist (und zwar flexibel), dann beschreib mal bitte das genaue Vorgehen, das interessiert mich nämlich.
Markus
Moin.
@64748
Einen Task zu verteilen ist eine einfache, gute Lösung, da somit Probleme mit der Konnektivität ausgeschlossen werden.
@64748
Alle PCs die nicht herunter gefahren werden sollen (auch kurzfristig) müssten in eine eigene OU. Das ist so nicht umsetzbar
Wie kommst Du denn darauf? Noch nie was von Sicherheitsfilterung gehört? Einen Task zu verteilen ist eine einfache, gute Lösung, da somit Probleme mit der Konnektivität ausgeschlossen werden.
Zitat von @DerWoWusste:
...
@64748
...
Wie kommst Du denn darauf? Noch nie was von Sicherheitsfilterung gehört?
Nö, meine Kenntnisse enden z.Zt. bei Server 2003, und dort habe ich sowas nicht vorgefunden ...
@64748
...
Wie kommst Du denn darauf? Noch nie was von Sicherheitsfilterung gehört?
Einen Task zu verteilen ist eine einfache, gute Lösung, da somit Probleme mit der Konnektivität ausgeschlossen werden.
Mich würde nun interessieren, ob das auch kurzfristig wirkt (mit der Sicherheitsfilterung). Also Beispiel, ein Kollege lässt einen Prozess auf seinem Rechner über Nacht durchlaufen und sagt dem Admin kurz vor Feierabend bescheid. Kann man dann auf diese Weise den einzelnen Rechner vom Shutdown ausschließen? Ich kenne Gruppenrichtlinien ja nur so, dass sie nach dem soundosvielten Neustart greifen..... und das wäre in meinem Beispiel ja eher hinderlich Markus
Zitat von @DerWoWusste:
Sicherheitsfilterung ging schon mit Win2k - einfach mal belesen. Task Deployment über GPPs geht ab xp. Die Tasks werden per
Background refresh eingetragen, kein Neustart erforderlich.
Ok, danke, das werde ich mir ansehen wenn ich es mal brauche.Sicherheitsfilterung ging schon mit Win2k - einfach mal belesen. Task Deployment über GPPs geht ab xp. Die Tasks werden per
Background refresh eingetragen, kein Neustart erforderlich.
Markus
Da läuft auf paar XP Dosen kleine Tools, gehört für mich eher auf ein Server
Wovon sprichst Du? Da laufen keine Tools sondern Tasks, die einfach den shutdown-Befehl starten.WMI-Filter siehe http://technet.microsoft.com/en-us/library/cc733022.aspx oder als Bild bzw.
Hallo,
wie wärs wenn du Aufgaben anlegst um z.B. 08:30, den Shutdowntimer auf eine halbe Stunden und wenn der Anwender "durcharbeitet" kann er eine shutdown -a Batch ausführen die auf dem Desktop liegt?
Gruß
win-dozer
wie wärs wenn du Aufgaben anlegst um z.B. 08:30, den Shutdowntimer auf eine halbe Stunden und wenn der Anwender "durcharbeitet" kann er eine shutdown -a Batch ausführen die auf dem Desktop liegt?
Gruß
win-dozer
Zitat von @103148:
Den shutdown Befehl kenne ich aber ich kann ihn nich in eine "Schleife" binden.
Den shutdown Befehl kenne ich aber ich kann ihn nich in eine "Schleife" binden.
Auch wenn die Lösung mittels GPO eine bessere sein mag, und nur, um deine Frage direkt zu beantowrten, wäre eine folgende Umsetzung denkbar:
for /f %%i in ('net view ^| find /I "FirmaC" ^| findstr /V /G:C:\TEMP\ausschlussliste.txt') do shutdown -m %%i -s -t 600 -c "Dieser Rechner wird demnächst heruntergefahren. Zum Abbrechen starten Sie doNotShutdown.bat auf dem Desktop."
Gruß
format-c
Benutz doch die "psshutdown.exe" und machs so. Die Domäne auslesen was für Computer vorhanden sind.
die Computer die nicht runtergefahren sollen aus der Liste entfernen und dann die Computer nach einer bestimmten Wartezeit herunter fahren. in meinem Beispiel bleiben die Server oben und die Workstations fahren herunter.
hier mal der Code dazu
Startdatei -> SearchComputer
' +++ Sucht alle Computer in der Domaene und speichert sie in einer Datei
' +++ dsquery computer <- findet alle Computer im Activ Directory
' +++ -limit 200 <-- Das Standart limit liegt bei 100 Einträgen.
' +++ -o rdn <-- Nur der Computername wir ausgegeben
str_run = "dsquery computer -limit 200 -O rdn > Computer_in_Domaene.txt"
set wshell = CreateObject("WScript.Shell")
' +++ Startet eine DOS Box und führt dann dort den Eintrag in str_run aus.
' +++ /c fuert den Befehl/ befehle aus und endet dann.
wshell.Run "%ComSpec% /c " & str_run,,True
Set wshell = nothing
' +++ Aufruf des Dateihandlings um die Server (rechner die nicht heruntergefahren werden sollen) aus der Liste zu entfernen
Set wshShell = WScript.CreateObject ("WSCript.shell")
wshshell.run ("Dateihandling.vbs")
Dateihandling <-(sortieren der Rechner)
'+++ Variablen Deklaration
Dim objFs1, objFs2, objFs3 ' FileSystemObject Objekt
Dim strDateiname1, strDateiname2, strDateiname3
Dim strMaschines, strServer
Dim objTextStream1, objTextStream2, objTextStream3 ' Textstream Objekt
Dim strBoolean
' +++ FileSystemObjecte anlegen
Set objFs1 = CreateObject("Scripting.FileSystemObject")
Set objFs2 = CreateObject("Scripting.FileSystemObject")
Set objFs3 = CreateObject("Scripting.FileSystemObject")
'+++ Datei Pfade und Namen deklarieren
'+++ 1 fuer die Computer in der Domaene, 2 fuer die Serverliste
'+++ 3 ist fuer die Aufnahme der Workstations in der domaene
strDateiname1 = "Computer_in_Domaene.txt"
strDateiname2 = "Server.txt"
strDateiname3 = "Workstation.txt"
' +++ Textstream oeffnen, erlaubt Zugriff auf den Inhalt der Datei
' +++ objTextStream1 = Computer in Domaene
Set objTextStream1 = objFs1.OpenTextFile(strDateiname1,1)
'+++ Datei zur Aufnahme der Workstations erstellen
Set objTextStream3 = objFs3.CreateTextFile(strDateiname3, 8)
'+++Computerliste durchlaufen und kontrollieren ob es ein Server ist.
'+++ Wenn es kein server ist, dann in die Workstaton Datei eintragen
While Not objTextStream1.AtEndOfStream
strBoolean = False
strMaschines = objTextStream1.ReadLine
' +++ Textstream oeffnen, erlaubt Zugriff auf den Inhalt der Datei
' +++ objTextStream2 = Server
Set objTextStream2 = objFs2.OpenTextFile(strDateiname2,1)
While Not objTextStream2.AtEndOfStream
strServer = objTextStream2.ReadLine
If strMaschines = strServer Then
strBoolean = True
End if
Wend
'+++ Schliessen um ihn zu leeren
objTextStream2.Close
'+++ wenn es kein Server ist dann ab damit in die datei.
If strBoolean = False Then
'+++ Computer in Workstationliste eintragen
'+++ erst den text formatiern und die " entfernen.
'+++ dann den String mit einen Zeilenumbruch in Datei schreiben:
strMaschines = Replace(strMaschines, Chr(34), "")
objTextStream3.Write strMaschines & vbCrLf
End If
Wend
' +++ Textstream schliessen
objTextStream3.Close
objTextStream1.Close
' +++ Resourcen freigeben
Set objTextStream1 = Nothing
Set objTextStream2 = Nothing
Set objTextStream3 = Nothing
Set objFs1 = Nothing
Set objFs2 = Nothing
Set objFs3 = Nothing
' +++ Aufruf des Shutdon progs um alle Rechner die Online sind runter zu fahren.
Set wshShell = WScript.CreateObject ("WSCript.shell")
wshshell.run ("shutdown_online.vbs")
Set wshshell = nothing
shutdown_online <- schaun welcher Rechner online ist und ihn dann auf die Liste zum herunterfahren schreiben.
'+++ Variablen deklaration
Dim objFs1, objFs2 '+++ FileSystemObject Objekt
Dim strDateiname1, strDateiname2
Dim objTextStream1, strMaschines '+++ Textstream Objekt
Dim str_run '+++ Zur Aufnahme eines DOS Box Befehls
Dim i '+++ Zaehler zur Kontrolle ob ein Rechner Online ist.
i=0 '+++ Zaehler
'+++ Datei Pfade und Namen deklarieren
'+++ 1 = Die Rechner die online bzw aktive sind
'+++ 2 = Alle Workstations in der Domäne
strDateiname1 = "online.txt"
strDateiname2 = "Workstation.txt"
' +++ FileSystemObjecte anlegen
Set objFs1 = CreateObject("Scripting.FileSystemObject")
Set objFs2 = CreateObject("Scripting.FileSystemObject")
'+++ Textstream oeffnen, erlaubt Zugriff auf den Inhalt der Datei
'+++ 1 = Die Rechner die online sind
'+++ 2 = Alle Workstations in der Domäne
Set objLogFile = objFS1.CreateTextFile(strDateiname1,8)
Set objTextStream1 = objFs2.OpenTextFile(strDateiname2,1)
While Not objTextStream1.AtEndOfStream
strMaschines = objTextStream1.ReadLine
'+++ Pingen um heraus zu bekommen ob der Rechner online ist
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
ExecQuery("select * from Win32_PingStatus where address = '"_
& strMaschines & "'")
'+++ Wenn der Rechner an ist, kommt er in die Online Datei
For Each objStatus in objPing
If objStatus.StatusCode=0 Then
objLogFile.Write(strMaschines & VbCrLf)
i=1 '+++ Merker, das mind. ein Rechner online ist.
End If
Next
Wend
'+++ Kontrolliert ob ueberhaupt ein Rechner online war.
'+++ Wenn nicht wird eine Bemerkung in die Datei geschrieben und alles Beendet.
if i=0 then
'+++ Durchlauf wenn kein Rechner Online war
'+++ Bemerkung in die Datei schreiben
objLogFile.Write("Keine Computer Online!" & VbCrLf)
'+++ Stream schliessen
objTextStream1.Close
objLogFile.Close
'+++ Dateihaendling
Set wshell = WScript.CreateObject("WScript.Shell")
'+++ Benennt die Online Dateim zur Doku um.
str_run = "ren online.txt online_%date%.txt"
'+++ Startet eine DOS Box und führt dann dort den Eintrag in str_run aus.
wshell.Run("%ComSpec% /c " & str_run)
'+++ Nicht mehr benoetigte Datei Loeschen
str_run = "del Computer_in_Domaene.txt"
wshell.Run("%ComSpec% /c " & str_run)
'+++ Nicht mehr benoetigte Datei Loeschen
str_run = "del Workstation.txt"
wshell.Run("%ComSpec% /c " & str_run)
'+++ Objekte freigeben
Set objFs1 = Nothing
Set objFs1 = Nothing
Set wshshell = Nothing
Else
'+++ Wird durchlaufen wenn mind. 1 Rechner online war.
'+++ Stream schliessen
objTextStream1.Close
objLogFile.Close
'+++ Objekte freigeben
Set objFs1 = Nothing
Set objFs1 = Nothing
'+++ Aufruf des shutdown Progs
Set wshShell = WScript.CreateObject ("WSCript.shell")
str_run ="C:\SHUTDOWN_DOM\shutdown.bat"
wshShell.run ("%ComSpec% /c " & str_run)
Set wshShell = nothing
End if
shutdown <- die Datei die das eigentliche shutdown ausführt.
psshutdown @online.txt -c -m "Ihr PC wird vom blablabla herruntergefahren. " -t 1800 >> Doku.txt
die Computer die nicht runtergefahren sollen aus der Liste entfernen und dann die Computer nach einer bestimmten Wartezeit herunter fahren. in meinem Beispiel bleiben die Server oben und die Workstations fahren herunter.
hier mal der Code dazu
Startdatei -> SearchComputer
' +++ Sucht alle Computer in der Domaene und speichert sie in einer Datei
' +++ dsquery computer <- findet alle Computer im Activ Directory
' +++ -limit 200 <-- Das Standart limit liegt bei 100 Einträgen.
' +++ -o rdn <-- Nur der Computername wir ausgegeben
str_run = "dsquery computer -limit 200 -O rdn > Computer_in_Domaene.txt"
set wshell = CreateObject("WScript.Shell")
' +++ Startet eine DOS Box und führt dann dort den Eintrag in str_run aus.
' +++ /c fuert den Befehl/ befehle aus und endet dann.
wshell.Run "%ComSpec% /c " & str_run,,True
Set wshell = nothing
' +++ Aufruf des Dateihandlings um die Server (rechner die nicht heruntergefahren werden sollen) aus der Liste zu entfernen
Set wshShell = WScript.CreateObject ("WSCript.shell")
wshshell.run ("Dateihandling.vbs")
Dateihandling <-(sortieren der Rechner)
'+++ Variablen Deklaration
Dim objFs1, objFs2, objFs3 ' FileSystemObject Objekt
Dim strDateiname1, strDateiname2, strDateiname3
Dim strMaschines, strServer
Dim objTextStream1, objTextStream2, objTextStream3 ' Textstream Objekt
Dim strBoolean
' +++ FileSystemObjecte anlegen
Set objFs1 = CreateObject("Scripting.FileSystemObject")
Set objFs2 = CreateObject("Scripting.FileSystemObject")
Set objFs3 = CreateObject("Scripting.FileSystemObject")
'+++ Datei Pfade und Namen deklarieren
'+++ 1 fuer die Computer in der Domaene, 2 fuer die Serverliste
'+++ 3 ist fuer die Aufnahme der Workstations in der domaene
strDateiname1 = "Computer_in_Domaene.txt"
strDateiname2 = "Server.txt"
strDateiname3 = "Workstation.txt"
' +++ Textstream oeffnen, erlaubt Zugriff auf den Inhalt der Datei
' +++ objTextStream1 = Computer in Domaene
Set objTextStream1 = objFs1.OpenTextFile(strDateiname1,1)
'+++ Datei zur Aufnahme der Workstations erstellen
Set objTextStream3 = objFs3.CreateTextFile(strDateiname3, 8)
'+++Computerliste durchlaufen und kontrollieren ob es ein Server ist.
'+++ Wenn es kein server ist, dann in die Workstaton Datei eintragen
While Not objTextStream1.AtEndOfStream
strBoolean = False
strMaschines = objTextStream1.ReadLine
' +++ Textstream oeffnen, erlaubt Zugriff auf den Inhalt der Datei
' +++ objTextStream2 = Server
Set objTextStream2 = objFs2.OpenTextFile(strDateiname2,1)
While Not objTextStream2.AtEndOfStream
strServer = objTextStream2.ReadLine
If strMaschines = strServer Then
strBoolean = True
End if
Wend
'+++ Schliessen um ihn zu leeren
objTextStream2.Close
'+++ wenn es kein Server ist dann ab damit in die datei.
If strBoolean = False Then
'+++ Computer in Workstationliste eintragen
'+++ erst den text formatiern und die " entfernen.
'+++ dann den String mit einen Zeilenumbruch in Datei schreiben:
strMaschines = Replace(strMaschines, Chr(34), "")
objTextStream3.Write strMaschines & vbCrLf
End If
Wend
' +++ Textstream schliessen
objTextStream3.Close
objTextStream1.Close
' +++ Resourcen freigeben
Set objTextStream1 = Nothing
Set objTextStream2 = Nothing
Set objTextStream3 = Nothing
Set objFs1 = Nothing
Set objFs2 = Nothing
Set objFs3 = Nothing
' +++ Aufruf des Shutdon progs um alle Rechner die Online sind runter zu fahren.
Set wshShell = WScript.CreateObject ("WSCript.shell")
wshshell.run ("shutdown_online.vbs")
Set wshshell = nothing
shutdown_online <- schaun welcher Rechner online ist und ihn dann auf die Liste zum herunterfahren schreiben.
'+++ Variablen deklaration
Dim objFs1, objFs2 '+++ FileSystemObject Objekt
Dim strDateiname1, strDateiname2
Dim objTextStream1, strMaschines '+++ Textstream Objekt
Dim str_run '+++ Zur Aufnahme eines DOS Box Befehls
Dim i '+++ Zaehler zur Kontrolle ob ein Rechner Online ist.
i=0 '+++ Zaehler
'+++ Datei Pfade und Namen deklarieren
'+++ 1 = Die Rechner die online bzw aktive sind
'+++ 2 = Alle Workstations in der Domäne
strDateiname1 = "online.txt"
strDateiname2 = "Workstation.txt"
' +++ FileSystemObjecte anlegen
Set objFs1 = CreateObject("Scripting.FileSystemObject")
Set objFs2 = CreateObject("Scripting.FileSystemObject")
'+++ Textstream oeffnen, erlaubt Zugriff auf den Inhalt der Datei
'+++ 1 = Die Rechner die online sind
'+++ 2 = Alle Workstations in der Domäne
Set objLogFile = objFS1.CreateTextFile(strDateiname1,8)
Set objTextStream1 = objFs2.OpenTextFile(strDateiname2,1)
While Not objTextStream1.AtEndOfStream
strMaschines = objTextStream1.ReadLine
'+++ Pingen um heraus zu bekommen ob der Rechner online ist
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
ExecQuery("select * from Win32_PingStatus where address = '"_
& strMaschines & "'")
'+++ Wenn der Rechner an ist, kommt er in die Online Datei
For Each objStatus in objPing
If objStatus.StatusCode=0 Then
objLogFile.Write(strMaschines & VbCrLf)
i=1 '+++ Merker, das mind. ein Rechner online ist.
End If
Next
Wend
'+++ Kontrolliert ob ueberhaupt ein Rechner online war.
'+++ Wenn nicht wird eine Bemerkung in die Datei geschrieben und alles Beendet.
if i=0 then
'+++ Durchlauf wenn kein Rechner Online war
'+++ Bemerkung in die Datei schreiben
objLogFile.Write("Keine Computer Online!" & VbCrLf)
'+++ Stream schliessen
objTextStream1.Close
objLogFile.Close
'+++ Dateihaendling
Set wshell = WScript.CreateObject("WScript.Shell")
'+++ Benennt die Online Dateim zur Doku um.
str_run = "ren online.txt online_%date%.txt"
'+++ Startet eine DOS Box und führt dann dort den Eintrag in str_run aus.
wshell.Run("%ComSpec% /c " & str_run)
'+++ Nicht mehr benoetigte Datei Loeschen
str_run = "del Computer_in_Domaene.txt"
wshell.Run("%ComSpec% /c " & str_run)
'+++ Nicht mehr benoetigte Datei Loeschen
str_run = "del Workstation.txt"
wshell.Run("%ComSpec% /c " & str_run)
'+++ Objekte freigeben
Set objFs1 = Nothing
Set objFs1 = Nothing
Set wshshell = Nothing
Else
'+++ Wird durchlaufen wenn mind. 1 Rechner online war.
'+++ Stream schliessen
objTextStream1.Close
objLogFile.Close
'+++ Objekte freigeben
Set objFs1 = Nothing
Set objFs1 = Nothing
'+++ Aufruf des shutdown Progs
Set wshShell = WScript.CreateObject ("WSCript.shell")
str_run ="C:\SHUTDOWN_DOM\shutdown.bat"
wshShell.run ("%ComSpec% /c " & str_run)
Set wshShell = nothing
End if
shutdown <- die Datei die das eigentliche shutdown ausführt.
psshutdown @online.txt -c -m "Ihr PC wird vom blablabla herruntergefahren. " -t 1800 >> Doku.txt