
так что это от новичка, пожалуйста, отнеситесь ко мне с пониманием.
Итак, я хочу автоматически выключать компьютеры, подключенные к моему домену, каждый день в 4:15 вечера. Теперь я покопался и обнаружил, что мы можем сделать это через планировщик задач с помощью shutdown.exe
Пока все хорошо, но что, если я хочу отобразить милое сообщение, предупреждающее пользователя, который в данный момент вошел в этот клиент, что система выключится примерно через 5 минут. Исходя из того, что мне подсказывает слежка, это возможно с помощью VB. Проблема в том, что я буквально понятия не имею, что это такое. Может ли кто-нибудь быть настолько любезным, чтобы объяснить, в чем суть?
Спасибо, если вы дошли до этого места :)
решение1
VB — это сокращение от (Visual Basic Script), ниже приведен код для запуска VB для выполнения вашей задачи.Ссылка на код
Шаг 1) Загрузите текстовый редактор, чтобы вставить в него свой код.кликните сюда
Шаг 2) Скопируйте и вставьте приведенный ниже код в текстовый редактор.
Шаг 3) НажмитеФайлзатемСохранить как-пока не нажимайте «сохранить»
Шаг 4) Убедитесь, что у вас естьСохранить как типУстановлен вВсе типы
Шаг 5) ПозвонитеИмя файла remoteShutdown.vbs-не забудьте .vbs!
Шаг 6) НажмитеФайлзатемОткрыть содержащую папкузатем нажмитеИсследователь
Шаг 7) Дважды щелкните по скрипту, который вы только что создали!
Шаг 8) Когда сценарий спросит вас«На каком компьютере выполнить действие?»введите имя компьютера в сети, которым вы хотите управлять.
Шаг 9) Ответьте 2 на следующий вопрос
Шаг 10) Найдите сайт, где вы можете научиться писать код на VBScript.Начало здесь
Ниже приведен код для работы в Notepad++.
strComputer=InputBox("Perform action on what computer?","Enter Computer
Name",strComputer)
'if no computername is specified (blank), then quit
If strComputer = "" Then WScript.Quit
strComputer = UCase(strComputer)
RestartMode = InputBox("I would like to perform the following action on " &
strComputer & ":" & vbcrlf & vbcrlf _
& "0 - Restart " & strComputer & vbcrlf _
& "1 - Logoff " & strComputer & vbcrlf _
& "2 - Shutdown " & strComputer & vbcrlf _
& "3 - Do nothing " & vbcrlf _
& vbcrlf,"Restart action",RestartMode)
If RestartMode = "" Then
wscript.quit
ElseIf RestartMode < 0 or Restartmode > 3 Then
wscript.echo "You must select a valid option between 0 and 3. Script will now
exit."
wscript.quit
End If
'You could also remove the above lines and declare your variables like this:
' strComputer = "computername"
' RestartMode = 1
'0 = restart, 1 = logoff, 2 = shutdown, 3 = do nothing
'also, with a little work, you could easily make command-line arguments for this
Call RestartAction
Sub RestartAction
Dim OpSysSet, OpSys
Set OpSysSet = GetObject("winmgmts:{(Shutdown)}//"_
& strComputer & "/root/cimv2").ExecQuery("select * from Win32_OperatingSystem"_
& " where Primary=true")
'set PC to reboot
If RestartMode = 0 Then
For each OpSys in OpSysSet
opSys.Reboot()
Next
'set PC to logoff
ElseIf RestartMode = 1 Then
Const EWX_LOGOFF = 0
For each OpSys in OpSysSet
opSys.win32shutdown EWX_LOGOFF
Next
'set PC to shutdown
ElseIf RestartMode = 2 Then
For each OpSys in OpSysSet
opSys.Shutdown()
Next
'set PC to do nothing
ElseIf RestartMode = 3 Then
End If
End Sub