4
如何腳本,將運行檢查批處理文件是否UAC被啓用如果結果是禁用的:檢查UAC狀態
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System EnableLUA REG_DWORD **0x0**)
腳本應根據結果運行不同的命令。
如何腳本,將運行檢查批處理文件是否UAC被啓用如果結果是禁用的:檢查UAC狀態
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System EnableLUA REG_DWORD **0x0**)
腳本應根據結果運行不同的命令。
您可以簡單地用FIND
或FINDSTR
搜索一個或其他值,並根據搜索結果調用命令。該模式基本上是這樣的:
REG QUERY HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\ /v EnableLUA | (
FIND "0x1" >NUL
) && (
command(s)_to_run_when_UAC_is_enabled
) || (
command(s)_to_run_when_UAC_is_disabled
)
即, REG
產生的輸出通過使用「管道」(|
)輸入FIND
。 FIND
在其輸入中查找0x1
,並根據搜索結果執行下列括號內的命令塊之一。
command && command || command
是一個標準的機制,允許您選擇性地運行命令,IF
的一種替代品。第一個命令產生一個結果。如果結果爲「成功」,則緊接在&&
之後的命令運行,並且緊接在||
之後的命令在失敗的情況下運行。
如果您需要在這兩種情況下執行的操作,同時使用&&
和||
命令生成的結果後,但如果只有一種結果應反應,你可以離開了無論是&&
或||
。
謝謝您的詳細描述!我試圖執行這個,但它似乎並沒有爲我工作。例如,我試過: 'REG QUERY HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ System \/v EnableLUA | ( FIND「0x1」> NUL )&&( shutdown -t 0 -r -f )|| ( 命令_to_run_when_UAC_is_disabled )' 我的UAC已啓用,但我的電腦沒有關機,我做錯了什麼? 非常感謝! :) – Perulo
不知道可能是什麼問題,對不起。這是一個複雜的命令,所以首先要提出的是調試每一個部分:確保REG返回你期望的結果,然後看看FIND是否找到了指定的術語(即,嘗試運行它而不用NUL '看看它是否顯示正在搜索的行,接下來,在'&&'之後和'||'之後嘗試使用'ECHO',而不是'shutdown'和其他你想要的命令。 –
我係統中的UAC是禁用,並在我跑完這個後:'REG QUERY HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ System \/v EnableLUA | FIND「0x1」> NUL &&(ECHO OK)||(shutdown -t 30 -r - f)',我收到一個通知,說重啓計劃在不到一分鐘的時間內完成,這意味着它按預期工作,目前我無法用'-t 0'測試它,所以不能確定是否有任何問題在上面的複合命令中運行'shutdown -t 0'的限制 –