我編寫了一個腳本,通過運行批處理文件,可以在通過Wi-Fi或有線Internet連接計算機之間進行切換。我寫這個是因爲我不喜歡每次輸入用戶名和密碼在兩者之間切換。以管理員身份運行PowerShell腳本,而無需輸入密碼
注:我必須啓用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
}
}
不幸的是,這個腳本只有正常運行,如果以管理員身份運行,因此整個原因,我寫的是沒有實際意義。有沒有辦法讓我可以提升管理員權限而無需執行任何操作?
實際上,你問如何運行,而不必應付UAC提升的腳本。這完全否定了UAC的全部觀點。如果你能做到這一點,這將是UAC的嚴重漏洞,你不覺得嗎? – x0n
我不這麼認爲。因爲我知道可以通過文本文件或硬編碼將憑據傳遞給UAC。我知道這是可能的,因爲我相當確定的服務器一直在等待系統管理員登錄並單擊「是」 – mhopkins321