Windows

使用 Powershell 執行提升的執行檔

  • December 23, 2016

我有一個需要通過 GPO 執行的 .exe。我試圖通過批處理腳本來完成它,但是它需要在使用者機器上執行,這需要提升,因為他們不是本地管理員。而不是觸摸每台機器來設置本地管理員並讓 GPO 執行它。我想設置 powershell 腳本來啟動提升的會話,無論是 PS 還是 CMD 都沒關係。

大塊頭正在檢測每台機器的主機名,所以我可以使用:

New-PSSession hostname -Auth CredSSP -cred domain\adminuser

我玩弄了讓它檢測 IP 地址然後為使用者進行 DNS 查找的想法,但除了這些問題之外,我認為這遠遠超出了必要的工作量。我試圖在這裡研究類似的問題,但我無法找到與上述阻止程序類似的情況。

批處理文件:

@echo off
if exist "C:\Program Files\directorypath\service.*" goto END
if exist "C:\Program Files (x86)\directorypath\service.*" goto END
"\\SERVER\FOLDER\installer.exe" --mode unattended
:END

使用 runas 似乎並不完全適合這個問題。而且我寧願避免將我的密碼或通用管理員密碼放在純文字文件中。

您可以使用啟動腳本將您的管理員使用者添加到本地管理員net localgroup administrators domain\adminuser /add

不過,我認為這沒有必要。我認為您的批處理腳本可以作為電腦的啟動腳本執行得很好。它將作為電腦帳戶執行,因此電腦帳戶需要訪問共享。

引用自:https://serverfault.com/questions/822516