Автоматическое завершение работы клиента домена через сервер

Автоматическое завершение работы клиента домена через сервер

так что это от новичка, пожалуйста, отнеситесь ко мне с пониманием.

Итак, я хочу автоматически выключать компьютеры, подключенные к моему домену, каждый день в 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

Связанный контент