2016-11-03 16 views
0

我有一个非常简单的脚本,在服务器上工作得很好,我登录到服务器并运行它。远程运行时特权ACL错误。 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 "" 

任何想法?

谢谢。

回答

0

你也许应该离开-Credential "",通过添加这个,你低声地告诉它在没有帐户的情况下运行我想。因此,要么完全移除它,以便在当前用户的帐户下运行,要么像下面的两个示例一样声明凭证。

选项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 
+0

您好卡格,-credential “” 只是其中我在凭证手动键入一个例子。是的,我已经尝试了这两个选项,我实际上使用选项2为另一台服务器上的其他脚本。所以我几乎可以直接从服务器做任何事情,而不是当我想远程执行时。 – PJT