Windows
使用 Powershell 執行提升的執行檔
我有一個需要通過 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
。不過,我認為這沒有必要。我認為您的批處理腳本可以作為電腦的啟動腳本執行得很好。它將作為電腦帳戶執行,因此電腦帳戶需要訪問共享。