我有一个非常简单的脚本,在服务器上工作得非常好,我登录到服务器并运行它。
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 :(得分: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