Windows 2k Client mit Scheduled Task herunterfahren
Folgende Problemstellung:
Ich will ein Windows 2k Client per VBScript und Scheduled Task zu einem bestimmten Zeitpunkt täglich herunterfahren.
Ist jedoch ein User am Client angemeldet (per RDP), darf der Computer nicht heruntergefahren werden.
Könnt ihr mir helfen wo der Fehler in diesem Script liegt?
Ich will ein Windows 2k Client per VBScript und Scheduled Task zu einem bestimmten Zeitpunkt täglich herunterfahren.
Ist jedoch ein User am Client angemeldet (per RDP), darf der Computer nicht heruntergefahren werden.
Könnt ihr mir helfen wo der Fehler in diesem Script liegt?
On Error resume next
strComputer = "."
'get username
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colComputer = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colComputer
user = objComputer.UserName
Next
'if user is null then try to shutdown computer
If isnull(user) Then
Set objWMIService = GetObject _
("winmgmts:{impersonationLevel=impersonate,(Shutdown)}\\" & _
strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
objOperatingSystem.Win32Shutdown(8)
Next
Else
Wscript.Quit
End If
Wscript.Quit
Please also mark the comments that contributed to the solution of the article
Content-ID: 138441
Url: https://administrator.de/contentid/138441
Printed on: November 14, 2024 at 06:11 o'clock
1 Comment
Hallo deeluxx,
in Zeile 13 schreibst weist du der Variablen "user" den Wert des Objects zu.
Welchen Wert hat diese Variable vorher?
Wenn du dies auswertest wie in Zeile 18 könntest du Probleme bekommen. Ich kenn das aus anderen Sprachen wie C oder C#, in der Variablen die nicht mit Werten belegt sind u.U. irgeetwas enthalten.
Versuch mal user einen Wert vor dem auslesen des UserName sprich vor Zeile 13 zu geben.
Gruß b-netix
PS: Lass mich wissen wo das scipt bei dir nicht die erwartete Wirkung zeigt.
in Zeile 13 schreibst weist du der Variablen "user" den Wert des Objects zu.
Welchen Wert hat diese Variable vorher?
Wenn du dies auswertest wie in Zeile 18 könntest du Probleme bekommen. Ich kenn das aus anderen Sprachen wie C oder C#, in der Variablen die nicht mit Werten belegt sind u.U. irgeetwas enthalten.
Versuch mal user einen Wert vor dem auslesen des UserName sprich vor Zeile 13 zu geben.
Gruß b-netix
PS: Lass mich wissen wo das scipt bei dir nicht die erwartete Wirkung zeigt.