远程运行时权限ACL错误。调用命令

时间:2016-11-03 22:01:48

标签: powershell privileges invoke-command

我有一个非常简单的脚本,在服务器上工作得非常好,我登录到服务器并运行它。

invoke-command -scriptblock { & snacfg workstation Computer /delete}

但是,当我尝试远程操作时,我会收到"您没有在文件上设置系统ACL所需的权限。"

invoke-command -ComputerName SERVER -scriptblock {snacfg workstation COMPUTER /print} -Credential ""

我也尝试远程调用它,但收到相同的错误消息。

Start-Process powershell.exe -ArgumentList \\SERVER\c$\users\USERNAME\desktop\SCRIPT.ps1 -Credential ""

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

你应该离开-Credential "",通过添加这个,你可以低声地告诉它在没有帐户的情况下运行我认为。因此,要么完全删除它,以便它将在当前用户的帐户下运行,要么声明凭据,如以下2个示例中所示。

选项1

$creds = Get-Credential
Invoke-Command -ComputerName Server -ScriptBlock { snacfg workstation computer /print } -Credential $creds

选项2:

$pwd = ConvertTo-SecureString "ThePassword" -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential ("TheUsername", $pwd)
Invoke-Command -ComputerName Server -ScriptBlock { snacfg workstation computer /print } -Credential $creds