3

我正在尝试从 windows-7 64 位机器上的 powershell 脚本运行 exe。在这个脚本中,我想以另一个用户身份运行 exe。当调用脚本的用户是实际用户时,它可以工作。但在我的情况下,这个 powershell 脚本将从系统用户帐户执行,并且系统用户脚本不起作用。这是我用来打开记事本的简单代码。此代码对系统用户失败。

$username = 'MyDomain\MyUser'
$password = 'mypswd'
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force))
Start-Process -Credential $cred  "notepad.exe"

我已将执行策略设置为不受限制。当我为系统用户运行此脚本时,我收到错误消息

Start-Process :由于错误无法执行此命令:拒绝访问。在 D:\temp\trythis.ps1:4 char:14 + Start-Process <<<< -Credential $cred "notepad.exe" + CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.C ommands.StartProcessCommand

有什么方法可以为系统用户运行这个脚本吗?

4

1 回答 1

0

这里最可能的问题是权限问题(我可以重现您的问题的唯一方法是为帐户设置拒绝条目)。

我建议以下内容来确认权限是否正确。说明适用于 Windows XP、SP3 - 根据您的版本进行调整!

  1. 右键单击“notepad.exe”,然后单击“属性”
  2. 单击安全选项卡
  3. 单击高级按钮
  4. 单击有效权限选项卡
  5. 单击选择...按钮
  6. 输入您要检查的帐户并确认该帐户具有适当的读取和执行权限。
于 2012-07-20T10:43:40.037 回答