バッチ ファイルを実行するだけで、コンピューターを Wi-Fi または有線インターネット経由で接続するように切り替えるスクリプトを作成しました。これを書いたのは、毎回ユーザー名とパスワードを入力して 2 つを切り替える必要があるのが好きではないからです。
注: UAC を有効にする必要があるため、残念ながら無効にすることはできません。
ワイヤレス アダプタのステータスを確認します。現在有効になっている場合は、ワイヤレス アダプターがオフになり、有線アダプターが有効になります。ワイヤレスが有効になっていない場合は、有線が有効になり、無効になります。これがコードです。
$adapter = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Where-Object {$_.ServiceName -ne "hamachi"}
function wirelessOn
{
$wireless = Get-WmiObject -Class Win32_NetworkAdapter | Where-Object {$_.Name -like "*Wireless*"}
$wireless.Disable()
$wired = Get-WmiObject -Class Win32_NetworkAdapter | Where-Object {$_.Name -like "*gigabit*"}
$wired.Enable()
}
function wirelessOff
{
$wired = Get-WmiObject -Class Win32_NetworkAdapter | Where-Object {$_.Name -like "*gigabit*"}
$wired.Disable()
$wireless = Get-WmiObject -Class Win32_NetworkAdapter | Where-Object {$_.Name -like "*Wireless*"}
$wireless.Enable()
}
switch -wildcard ($adapter.description){
"*wireless*" {
wirelessOn
}
"*gigabit*" {
wirelessOff
}
}
残念ながら、このスクリプトは管理者として実行した場合にのみ正しく機能するため、私がこのスクリプトを作成した理由はまったく意味がありません。何もしなくても、これを管理者権限に昇格させる方法はありますか?