我需要完全自动运行Powershell脚本,但它需要以管理员身份运行。我愿意使用Powershell commads或C#编码来做这件事。哪个先给我答案。我一直在网上寻找看似永远的东西,但我仍然没有成功......
对于C#我试过这个,但没有域名,似乎抛出错误: http://www.codeproject.com/Articles/10090/A-small-C-Class-for-impersonating-a-User
对于Powershell,我尝试使用Start-Process -credential "username"
,但似乎没有办法让我输入密码部分,如果我尝试这样做:
Start-Process -credential "username", "Password"
或
Start-Process -credential "username" "Password"
我收到错误Start-Process : Cannot process argument transformation on parameter 'Credential'.
我也尝试过使用Start-Process Powershell -Verb runAs
,但仍然会启动UAC,我仍然需要在后台运行该窗口(这不是我主要担心的问题,因为我可以使用-NoNewWindow
为此)。
我对Powershell相对较新,如果有人对如何做到这一点有任何想法,那将会非常有用。
谢谢!
答案 0 :(得分:1)
如果脚本未运行提升,那么以管理员身份运行将无法解决,这是-RunAs
所做的。如果您根本不希望它提示然后禁用UAC,即使以管理员组成员的用户身份运行脚本仍然会提示UAC是否未被禁用,或者如果脚本未运行则脚本将失败提升特权。