设备未就绪错误(CreateFromDirectory)

时间:2015-08-25 14:24:57

标签: .net powershell remoting

所以我正在为我的办公室编写一个脚本,将visual studio版本放在他们的临时机器上以实现自动化。当我尝试在通过powershell进行远程处理后压缩文件时,我得到了一个非常通用的错误(设备未准备好)。以下是我为此获得的代码:

$userName = Read-Host 'What is your username for sampleServer?'
Enter-PSSession -ComputerName sampleServer -Credential $userName


$src_folder_Staging = "D:\www\test"
$archiveName = "$(get-date -f yyyy-MM-dd)$ext"
$destfile_staging = "D:\www\Archive\Project\sampleServer_" + "$archiveName" + ".zip"
[System.IO.Compression.ZipFile]::CreateFromDirectory($src_folder_Staging,$destfile_staging,$compressionLevel, $includebasedir )

此时,它将远程进入,但它会在createFromDirectory上抛出错误 设备尚未就绪。

我已经加载了程序集,因为我已经在脚本中先前压缩了一个文件。我已经验证了路径是否正确并且已经测试了时间戳代码并验证它是否产生了可用的路径。

这在没有远程工作时可以正常工作,因此我确信它与此有关。我是PowerShell远程处理的新手,所以我不知道自己的能力和能力。任何帮助,将不胜感激。感谢。

1 个答案:

答案 0 :(得分:0)

这可能是因为远程会话尝试使用计算机凭据而不是用于调用远程会话的凭据来访问目录。尝试启用CredSSP

要启用CredSSP,请从提升的提示符运行这些命令:

  • 在您的电脑上:Enable-WSManCredSSP -Role Client -DelegateComputer "TargetServer.FQ.DN"

    DelegateComputer参数用于指定从客户端接收委派凭据的服务器。 DelegateComputer接受通配符(*.FQ.DN)。您还可以指定*来指定网络中的所有计算机。

  • 在目标服务器上:Enable-WSManCredSSP -Role Server

现在,您应该可以使用CredSSP作为身份验证方法运行Enter-PSSession并传递凭据:

Enter-PSSession -ComputerName sampleServer -Authentication Credssp -Credential $userName 
相关问题