パソコン Windowsの電源を切るWSHファイルの作り方 電源オフ 再起動 自動化

2019年2月8日

20190202_PC電源オフWSH
Windows10は普通にシャットダウンしても、しっかり終了しないため、
長期間繰り返すと不安定になります。
例えば、パソコンを立ち上げたときにシャットダウン前のブラウザが立ち上がり
開いていたページが見えているときです。

便利な機能ですが、ビジネスで使用するには急にパソコンが、
不安定になり、これが理由に場合は原因がわかりませんので、
こういう不安要素は除去したいです。

今回は、従来のWindowsと同じくしっかりパソコンを終了する方法を
紹介します。電源オフ以外にも再起動などもできますので、
24時間起動パソコンのタスクスケジューラに組み込んで
1日1回は再起動で安定度を増す方法にも使用できます。

以前の記事のWindowsタスクスケジューラーのエラー 0x800710E0 Windows10 バッチファイル 起動しない対策に 原因
こちらで、タスクスケジューラーでbatファイルを動作方法を解決できない方は、
今回のようなWSHやJScript、VBscriptで記載方法に変更すれば回避ができます。

WSHのプログラム

ファイル作成は、テキストベースです。拡張子は「js」のJScript形式となり、
Windows Script Host から JScript エンジンが呼び出され、スクリプトが実行されます。


Option Explicit
 
Dim moveType,WinObj,WinObjSet
moveType = 1
Set WinObjSet = GetObject( _
"winmgmts:{impersonationLevel=impersonate,(Shutdown)}" _
).InstancesOf("Win32_OperatingSystem")
For Each WinObj In WinObjSet
    WinObj.Win32Shutdown moveType
Next

これを実行するとWindowsがシャットダウン(電源を切る)になります。
他にも4行目のmoveTypeの値を切り替える事でシャットダウンやログオフなども利用できます。

この再起動を使いタスクスケジューラーに組み込むと、
24時間動作のパソコンを1日1度再起動ができ、パソコンが安定して便利です。
本職のネットショップのECサイト運営の自動化プログラムはこれを用いて安定化させています。
ヤフオクストアの自動再出品(落札ナビから)など・・・

数値機能
0ログオフ
1シャットダウン
2再起動
4強制ログオフ
5強制シャットダウン
6強制再起動

強制は保存していないファイルなどがある場合も実行するタイプのもので、
普通は確認のダイアログでパソコンの終了や再起動が中断されますが、
こちらは無視してそのままパソコンの終了や再起動がされます。

Windows7やWinodws10でシャットダウン時に「X 個のプログラムが閉じられていません」と表示される
場合にも強制で終了すれば、無視して終了できます。

私の自動化プログラムはこれを見越して組んでいますので、強制的に再起動するようにしています。

他のプログラムと組み合わせて、そのプログラムの処理が終了したらWindowsが終了なども応用できます。

PC問題

Posted by captim.jp