サーバー経由でドメインクライアントを自動的にシャットダウンする

サーバー経由でドメインクライアントを自動的にシャットダウンする

これは初心者からの意見ですので、どうかご容赦ください。

そこで、ドメインに接続されているコンピュータを毎日午後4時15分に自動的にシャットダウンしたいのですが、いろいろ調べて、shutdown.exeを使用してタスクスケジューラでこれを行うことができることがわかりました。

ここまでは順調ですが、現在そのクライアントにログインしているユーザーに、システムが 5 分ほどでシャットダウンすることを警告するかわいいメッセージを表示したい場合はどうでしょうか。私の調査によると、これは VB で可能です。問題は、それが何なのかまったくわからないことです。親切な方、それが一体何なのか説明していただけませんか?

ここまで読んでくださった方、ありがとうございます :)

答え1

VB は (Visual Basic Sc​​ript) の略で、以下はタスクを実行するために VB を実行するコードです。コード参照

ステップ1) テキストエディタをダウンロードしてコードを入力します。ここをクリック

ステップ2) 以下のコードをコピーしてテキストエディタに貼り付けます

ステップ3) クリックファイルそれから名前を付けて保存-まだ保存をクリックしないでください

ステップ4) 次のことを確認してくださいファイルの種類に設定いろんなタイプ

ステップ5) 電話するファイル名 リモートシャットダウン.vbs-.vbs を忘れないでください!

ステップ6) クリックファイルそれから含まれているフォルダを開くクリック冒険者

ステップ 7) 作成したスクリプトをダブルクリックします。

ステップ8) スクリプトがあなたに尋ねたら「どのコンピューターでアクションを実行しますか?」制御したいネットワーク上のコンピュータの名前を入力します。

ステップ9) 次の質問に2と答えてください

ステップ10) VBScriptのコーディング方法を学べるウェブサイトを探すここから始める

以下はメモ帳++に入力するコードです

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

関連情報