###ログアウト
ログアウトは簡単です。shutdown
コマンドに/l
オプションを付ければ、ログアウトになります。
AD環境などで適切な権限があれば、リモートからシャットダウンすることもできます。
※ cl01 は端末名。
これらが書かれたバッチファイルを用意するだけで可能でしょう。
###ログオン
これに対して、ログインはやや難解です。二つのパターンに分かれます。
####1. 起動時に自動ログオン
「プログラムを指定して実行」でcontrol userpasswords2
を実行すると、ユーザーアカウントのコントロールパネルが現れます。「ユーザーがこのコンピューターを使うには、ユーザー名とパスワードの入力が必要」のチェックを外して、適用すると、自動ログオンするユーザー名とパスワードを聞いてきますので、正しいユーザー名とパスワードを入力します。これで、次回起動から自動ログオンになります。
この設定は実際はレジストリに「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon」に保存されています。レジストリをreg
コマンド等で直接操作することで、コントロールパネルを使った方法と同じ設定が可能です。下記資料を参考にしてください。
https://support.microsoft.com/ja-jp/kb/324737
https://technet.microsoft.com/ja-jp/library/cc939702.aspx
####2. 起動時に自動ログオンではなく、起動後に任意のタイミングで自動ログオン
こちらは難しいです。ログイン画面にキーイベントを送るためのサービスを作り込んで、あらかじめクライアントに入れる必要があります。スクリプトだけではできません。また、キーイベントを送る場合でも、Ctrl+Alt+Deleteは送れない場合があります(実装方法によるらしいです)。
クライアント管理ソフトでは、上のことを実装し、ログオンするように命令を送ることができる物があります。必要であれば、そのようなクライアント管理ソフトの導入を検討した方がいいでしょう。
どうしても、スクリプトのみで行いたいのであれば、「1. 起動時に自動ログオン」のレジストリを設定して、shutodwn /r
コマンドで再起動するという手段があります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。