簡體   English   中英

使用快捷方式的管理員權限在 UNC 路徑上運行 PowerShell 腳本

[英]Running A PowerShell Script At A UNC Path With Admin Privilege From Shortcut

我創建了一個 PowerShell 腳本來為我們公司的系統管理員安裝一些按需功能。 我為腳本創建了一個快捷方式,並在高級選項中選擇了“以管理員身份運行”。 當我直接運行腳本時,它會運行但錯誤狀態:

The requested operation requires elevation

如果我從快捷方式運行腳本,UAC 會彈出以允許以管理員身份運行,我點擊是,然后彈出一個黑色 CMD 框,然后立即關閉。 它不會顯示我的腳本的任何部分,也不會像我在腳本中那樣在結尾處暫停。 在我放置的快捷方式的目標中:

powershell.exe -ExecutionPolicy Bypass

仍然有同樣的問題。

如果我將powershell.exe -ExecutionPolicy Bypass 放入腳本中,它會在原始窗口的頂部打開一個 Admin Powershell 窗口,但腳本在較低的窗口中運行。 我只能假設它會在C:\\Windows\\System32處啟動管理窗口

有沒有辦法運行命令以管理員身份啟動 PowerShell 並直接轉到 UNC 路徑上的腳本?

東西鏈接這個:

Start-Process Powershell.exe -Verb runAs -File "\\SERVER\\Scripts\\Script.ps1"

或者有沒有更好的方法讓我的快捷方式以管理員身份啟動我的腳本到 UNC 路徑上的腳本?

經過一番研究,我發現了這個問題。 事實證明,我認為管理框從 C:\\Windows\\System32 開始是正確的,並且沒有傳遞給該框的參數來告訴它要寫什么。 經過一些試驗和錯誤后,這就是我開始工作並完全完成了我想要的:

在快捷方式中,我刪除了高級下的“以管理員身份運行”選項。 我向快捷方式的目標添加了一些值:

powershell -ExecutionPolicy Bypass "\\UNC\To\Script.ps1"

這啟動了一個在用戶模式下運行的啟動腳本。 為了讓腳本完成管理功能,我將這些命令移動到不同的腳本“AdminScript.ps1”並從 Script.pst1 調用它,如下所示:

Start-Process powershell -Argument "-ExecutionPolicy Bypass -noexit \\UNC\Path\to\AdminScript.ps1" -Verb runAs

然后啟動管理 Powershell 窗口並將 ExecutionPolicy 設置為 Bypass,因為它默認啟動為 Restricted。

從那里我能夠以管理權限完成 FoD 的安裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM