スクリーンセーバーを起動するときに、デスクトップ PC をインターネットから完全に切断できるかどうか疑問に思っています。また、スクリーンセーバーがシャットダウンしたときに、以前に選択したネットワーク (現在は Wi-Fi カードを使用しています) に再接続したいと思います。現在、スクリーンセーバーの起動時にバッチ ファイルを実行してバックアップを開始し、その後バッチ ファイルで作成したスクリーンセーバーを起動して、終了時に別のバッチ ファイルを呼び出すようにしています。別のオプションとして、.NET API を使用してこれを行うこともできますが、Windows の機能とのインターフェイスに関するリソースを見つけることができませんでした。Windows 8 Pro を使用しています。
ありがとう!
答え1
はい、少しスクリプトを書けば可能です。
$adaptor = Get-WmiObject -Class Win32_NetworkAdapter | Where-Object {$_.Name -like "*Intel(R) 82567LM-2 ギガビット ネットワーク接続*"} $ssrunning = (Get-Process -name notepad -ErrorAction SilentlyContinue) $ssrunning の場合{$adaptor.Disable()} そうでない場合{$adaptor.Enable()}
Windows 8.1 および 2012 では、実際にはもっと簡単です。Powershell 4 というコマンドレットがありenable-netadpter
、disable-netadapter
これを使用するとプロセスが簡素化されますが、これはより汎用的であり、ほとんどのマシンで動作するはずです。
Powershell プロンプトから を実行して、Get-WmiObject -Class Win32_NetworkAdapter
ネットワーク アダプタ名を一覧表示します。スクリプトでは、Intel(R) 82567LM-2 Gigabit Network Connection
をアダプタの名前に置き換えます。
また、スクリーンセーバーのプロセス名も知っておく必要があります。mystify.scr の場合、プロセス名は mystify になると思います。notepad
スクリプト内の をプロセス名に置き換えます。
この Powershell スクリプトを管理者特権で実行する (アダプターを有効/無効にする必要があります) だけで、おそらく Windows のスケジュールされたタスクとして実行すれば、準備完了です。