web-dev-qa-db-ja.com

スクリーンセーバーの実行中にすべてのインターネット接続を無効にするにはどうすればよいですか?

スクリーンセーバーを起動するときに、デスクトップPCをインターネットから完全に切断できるかどうか疑問に思っていました。また、スクリーンセーバーがオフになったときに、以前に選択したネットワーク(現在はWi-Fiカードを使用しています)に再接続したいと思います。現在、スクリーンセーバーの起動時にバッチファイルを実行してバックアップを開始し、次にバッチファイルで作成したスクリーンセーバーを起動しているので、必要に応じて終了時に別のバッチファイルを呼び出すことができます。もう1つのオプションは、.NET APIを使用してそれを行うことですが、Windows機能とのインターフェースに関するリソースを見つけることができませんでした。私はWindows8Proを実行しています。

ありがとう!

6
CaffeinePowered

はい、これは少しのスクリプトで可能です。

 $ adapter = Get-WmiObject -Class Win32_NetworkAdapter | Where-Object {$ _。Name-like "* Intel(R)82567LM-2 Gigabit Network Connection *"} 
 $ ssrunning =(Get-Process -name notepad -ErrorAction SilentlyContinue)
 if ($ ssrunning){$ adapter.Disable()} 
 else {$ adapter.Enable()} 

Windows 8.1および2012では実際には簡単です。プロセスを簡素化する_enable-netadpter_および_disable-netadapter_と呼ばれるPowershell 4コマンドレットがあります...しかし、これはより一般的であり、ほとんどのマシンで機能するはずです。

Powershellプロンプトから_Get-WmiObject -Class Win32_NetworkAdapter_を実行して、ネットワークアダプター名を一覧表示します。スクリプトで、Intel(R) 82567LM-2 Gigabit Network Connectionをアダプターの名前に置き換えます。

また、screeensaverのプロセス名を知っている必要があります。mystify.scrの場合、プロセスは単にmystifyと呼ばれると思います。スクリプトのnotepadをプロセスの名前に置き換えます。

このPowershellスクリプトを昇格して(アダプターを有効/無効にする必要があります)、おそらくWindowsのスケジュールされたタスクとして実行するだけで、準備は完了です。

1
Keltari