Tak je to tady:
Kód: Vybrat vše
'********************************************************
'* Script vypne pracoviště *
'* !!! Používá metodu FORCE !!! *
'* *
'* Etienn@Script v. 1.0 *
'********************************************************
' Action = 1 => shutdown
' Action = 2 => restart
' Action = 0 => logoff
' Action = 8 => poweroff
' Force = Action + 4
Option Explicit
Dim prac
Dim user, pass, zprava, titl, tlacitko, Action
Dim objSWbemLocator, cSystem, oSystem, objSWbemServices
'vytvoření objektu pro práci s WMI
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Action = 12
prac = InputBox("Zadej IP počítače", "Výzva")
user = Inputbox("Zadej jméno", "Výzva")
pass = Inputbox("Zadej heslo", "Výzva")
On Error Resume Next
zprava = "Opravdu chcete vypnout " & prac & "?"
titl = "Upozornění!"
tlacitko = MsgBox (zprava, vbQuestion + vbYesNo + vbDefaultButton2, titl)
If tlacitko = vbYes Then
'vytvoření a nastavení objektu pro pracoviště
Set objSWbemServices = objSWbemLocator.ConnectServer _
(prac, "root\cimv2", user, pass)
objSWbemServices.Security_.ImpersonationLevel = 3
'vytvoření kolekce objektu třídy Win32
Set cSystem = objSWbemServices.ExecQuery("select * from Win32_OperatingSystem"_
& " where Primary=true")
For Each oSystem In cSystem
oSystem.Win32Shutdown(Action)
Next
If Err.Number <> 0 Then WScript.Echo "Nepodařilo se vypnout " & prac
End If
Set objSWbemLocator = Nothing
Text zkopíruj do notepadu a ulož s příponou .vbs
K proměnným:
prac = IP adresa PC. V případě, že jde o PC ve stejné skupině, tak lze zadat název počítače.
user = název účtu s admin právy ke vzdálenému počítači
pass = heslo k tomuto účtu.
Tyto proměnné lze zadat i přímo ve skriptu - např:
prac = "pc007"
user = "administrator"
pass = "heslo"
pak lze vynechat řádky Inputbox
V případě kladného výsledku skript neoznámí nic. Při chybě oznámí že se vypnutí nepodařilo.
Může se stát, že se skript nepřipojí ke vzdálenému počítači. Pak je na vině firewall některé třetí strany (klasický firewall windows ho pustí)