在腳本的開頭,我添加了一段代碼以確保 shell以完全管理員權限運行:
# Running with full admin privileges
param([switch]$Elevated)
function Test-Admin {
$currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent())
$currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}
if ((Test-Admin) -eq $false) {
if ($elevated) {
# tried to elevate, did not work, aborting
} else {
Start-Process pwsh -Verb RunAs -ArgumentList ('-noprofile -noexit -file "{0}" -elevated' -f ($myinvocation.MyCommand.Definition))
}
exit
}
# Other stuff below...
之后是一個正常的腳本(Other stuff below部分)。問題是,我想在腳本完成后自動關閉shell視窗。在我添加完整的權限代碼之前,放入exit腳本底部可以正常作業,但現在不行了。我不明白為什么,因為本節中的其他所有內容都可以正常作業。
uj5u.com熱心網友回復:
通常腳本會在最后自動退出。嘗試-noexit從引數串列中省略引數并洗掉exit腳本底部的引數。對我來說,呼叫腳本-noexit并放在exit它的末尾是沒有意義的。如果沒有這些,所有這些都會自動作業。
如果你想檢查腳本撰寫程序中發生了什么,你可以輸入例如。最后是一個timeout /t 90命令,因此您有 90 秒的時間來檢查輸出,然后再自動關閉。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/327028.html
下一篇:Connect-AzureAD:parsing_wstrust_response_failed:決議WS-Trust回應失敗
