9
我有一個批處理文件,以提升的權限開始(我的安裝程序生成它),但是在某個時刻,我需要運行一個命令,開始我的安裝程序(即從提升的權限下降)。批處理文件:刪除提升的權限(以原始用戶身份運行命令)
有沒有可能這樣做?
我有一個批處理文件,以提升的權限開始(我的安裝程序生成它),但是在某個時刻,我需要運行一個命令,開始我的安裝程序(即從提升的權限下降)。批處理文件:刪除提升的權限(以原始用戶身份運行命令)
有沒有可能這樣做?
您可以使用受限特權運行命令:
runas /trustlevel:0x20000 "YourCommandHere"
你應該提供給你的命令,包括在雙引號作爲參數傳遞給runas
任何參數的絕對路徑。
如果你想與限制的權限運行一個以上的命令,你可以把它們放在一個單獨的批處理文件,並運行它:
runas /trustlevel:0x20000 "cmd /C PathToYourBatchFile"
無論如何,這將打開權限受限一個新的控制檯。如果您希望以受限制的特權運行內部命令(如copy
,del
等),並且由命令行解釋器提供並且沒有關聯的路徑,則還必須使用此語法。
請注意0x20000
是標準用戶的信任等級。您可以通過運行列出其他可用的信任級別
runas /showtrustlevels
嗯,這似乎有一個稍微不同於我預期的行爲。通常運行cmd.exe時,標題欄只顯示'C:\ Windows \ System32 \ cmd.exe',用提升的權限運行它,它顯示'Administrator:C:\ Windows \ System32 \ cmd.exe', runas/trustlevel:0x20000 cmd.exe',它顯示'Administrator:cmd(作爲sashoalm-PC \ sashoalm以受限權限運行)'。正如你所看到的,它與通常的運行方式不一樣,就像'原創用戶運行'一樣,你有沒有想到這些差異會是什麼? – sashoalm
@sashoalm新控制檯仍與管理員帳戶相關聯,但它以標準用戶的權限運行(即使您的用戶帳戶具有管理員權限)。要以原始用戶身份運行,請查看'runas'的其他選項。 –
進程管理器將這兩個進程列爲具有用戶名'sashoalm-PC \ sashoalm'。我的用戶帳戶是管理員帳戶。因此,如果用戶名相同,權限相同,爲什麼cmd的標題欄報告不同? – sashoalm