“Access Denied”尝试使用备用凭据作为用户SYSTEM执行命令

时间:2015-08-05 14:25:45

标签: powershell system credentials denied

我有一个以SYSTEM身份运行的脚本,如果我尝试start-process notepad.exe它运行良好。如果我添加-credentials $cred,则显示拒绝访问。我传递的凭据具有本地管理员访问权限,那么为什么存在拒绝访问权限?使用powershell上的procmon我无法识别任何拒绝访问操作,我可以看到powershell访问notepad.exe并获得成功结果。

任何想法?

在一个论坛帖子中我读到,用-credentials作为SYSTEM执行命令是不可能的。是这样吗? 如果是的话,有没有解决办法?

在我的背景下,我使用软件分发,其中任何安装以SYSTEM身份运行,从那里我想以不同的用户身份执行powershell脚本。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案:

$secpasswd = ConvertTo-SecureString 'password' -AsPlainText -Force 
$mycreds = New-Object System.Management.Automation.PSCredential ('domain\user', $secpasswd) 
Invoke-Command -ScriptBlock { Start-Process powershell c:\temp\mmc.ps1 -verb runas -wait} -ComputerName localhost -Credential $mycreds -Verbose

它不完全是我想要的,因为在这里你需要首先启用psremoting。但它就像一个解决方法。

任何想法如果没有invoke-command这是可能的,将不胜感激