①Win+R
②gpedit.msc
③[ユーザーの構成]-[Windowsの設定]-[スクリプト(ログオン/ログオフ)]-[ログオフ]
④(Win10)[ユーザの構成-管理用テンプレート]-[システム]-[スクリプト]-[実行中のログオフ スクリプトの命令を表示する]
Win10での実施手順についてコメントをいただき、出来る事を確認しました。
■画像付き手順
- c:\vbs\ログオフ時スクリプト.vbsを作成し、以下の内容で保存。
(パスやファイルの内容は適宜読み替えること。)
MsgBox "本当に退社して大丈夫ですか?" - 「Winロゴ」キー+「R」キーを押下。
- 「gpedit.msc」を入力。
- [ユーザーの構成]-[Windowsの設定]-[スクリプト(ログオン/ログオフ)]と辿り、
ログオフをダブルクリック。 - [追加]ボタン押下。
- 最初に作ったvbsを指定して、「開く」ボタン押下。
- [OK]ボタン押下。
- [OK]ボタン押下。
- (Win10のみ)[ユーザの構成]-[管理用テンプレート]-[システム]-[スクリプト]-[実行中のログオフ スクリプトの命令を表示する]の順に辿る。
- (Win10のみ)[未構成]を[有効]に変更し、[OK]ボタンを押下。
- ログオフやシャットダウンすると以下のようにメッセージボックスが表示され、
OKが押下されるまで待つ。OKが押されると、ログオフ/シャットダウンされる。
Win7のログオフスクリプト |
Win10のログオフスクリプト |
Win7のログオフは上記のようにメッセージボックスが表示されるが、
Win7のシャットダウンスクリプトではメッセージボックスが表示されず、
以下の画面が延々と続く。裏でメッセージボックスが表示され、
OKが押されるのを待っていると思われる。
こんにちは。
返信削除gpedit.mscで
ユーザーの構成
管理用テンプレート
システム
スクリプト
実行中のログオフ スクリプトを表示する
を「未構成→有効」に変更してみてください。
Windows7では「未構成」で問題なく動きます。
サイトの管理者です。
返信削除貴重な情報ありがとうございます。
試してみます。
サイトの管理者です。
削除仰る通りに実施して動きました。
ありがとうございます!!
ブログも更新したいと思います。
こんにちは。
返信削除先の投稿をした匿名の者です。
動作してよかったです。
「OK」を押さずに放置すると「10分」で続行されます。
(スクリプトタイムアウトが10分のため)
コンピュータの構成
管理用テンプレート
システム
スクリプト
スクリプトの実行時間・・・
で時間は変更できます。
実は自分でも出来なくて困ってたのですが、お役に立てるかなと思って投稿しました。
こんにちは。
返信削除上記と似たような事を実施したく、powershellのフォームを立ち上げようとしているのですが、フォームが立ち上がり次第、シャットダウンが続行され画面が消えてしまいます。 フォームからボタンをクリックしたら、シャットダウンが再開されるといった形にしたいのですが、何かアドバイス頂けますと幸いです。
ブログ管理者です。win7で試しましたが、私の環境だとほぼ同じ手順で可能でした。以下の手順です。以下の手順と何か違います?
返信削除1.以下のサイトでメッセージボックスを作ります。
https://letspowershell.blogspot.com/2015/06/powershellmessagebox.html?m=1
2.本ページと同じ手順で「ログオフのプロパティ」画面を出してpowershellのタブから作成したスクリプトを指定。その際に「windows powershellスクリプトを最初に実行」を指定。
ご返信ありがとうございます。
削除2.本ページと同じ手順で「ログオフのプロパティ」画面を出してpowershellのタブから作成したスクリプトを指定。その際に「windows powershellスクリプトを最初に実行」を指定。
→powershellのタブではなく、スクリプトのタブの方でvbsファイルを設定しております。
上記の設定の場合、スクリプトタブの方で設定していると感じたのですが、 powershellのタブの方に設定すべきなのでしょうか?
また、もし可能でしたら違いを教えて頂けますでしょうか?
ネットを調べてみましたが情報が見当たらず・・
サイトの管理者です。
削除①vbsを挟むのでしたら、仰る通り「スクリプト」タブ
で合っていると思います。
②帰宅したので自宅PCで試してみました。
私の環境(Win10)では上手く行ってます。
vbsを使っているとのことですが、
処理順は以下で合ってます?
gpedit.msc ⇒ vbs ⇒ powershell(Formを表示)
こちらで試したvbs、ps1は以下です。
(ファイル名と中身はテキトーです。)
以下のスクリプトの場合、サインアウトをすると、
フォームが表示されたままになり、
OKボタンを押すまでWindowsが待ち(サインアウトの
途中の状態で止まる)になります。
私が把握できてないだけかもしれませんが、
以下とは全然別です?
あとOSはWin10でしょうか?別の方の指摘通りWin10のみ
別の設定(上述の手順10.)が必要です。
ログオフ時スクリプト.vbs==================================
Dim wsh
Set wsh = WScript.CreateObject("WScript.Shell")
call wsh.Run ("cmd /c powershell -file C:\vbs\2.ps1",0,True)
==========================================================
2.ps1=====================================================
# アセンブリの読み込み
Add-Type -Assembly System.Windows.Forms
# メッセージボックスの表示
[System.Windows.Forms.MessageBox]::Show("ここにメッセージ", "タイトル")
==========================================================
③「スクリプト」「PowerShell」両者のタブの違いは分かりません。
確かに情報は少ないですね。Windowsサーバー管理者とか、そっちの勉強している人じゃないと分からないと思います。