无法使用PowerShell v2.0远程复制文件

时间:2014-10-21 14:42:22

标签: powershell powershell-v2.0

我想远程更改几台笔记本电脑的登录界面。 除了将图像从PC复制到目标PC之外,我设法做了所有事情。

所有笔记本电脑都设置了休闲

Enable-PSRemoting -Force    
set-item wsman:\localhost\Client\TrustedHosts -Value 192.168.10.10    
Restart-service WinRM

我已尝试启用CredSSP来​​执行copy-item命令,但它似乎仅适用于PowerShell v3.0或我错过了为Powershell v2.0配置的内容 为了在v2.0上工作,我必须在我的目标计算机上手动输入Enable-WSManCredSSP -role server(客户端角色似乎不像在v3.0中那样工作)

在v3.0上,我通过以下命令使其成为可能

$cred = Get-Credential
Invoke-Command -ScriptBlock { Enable-WSManCredSSP -Role Client -DelegateComputer * } -ComputerName 192.168.10.12 -Credential $cred

我得到了

Do you want to enable CredSSP authentication?
[Y] Yes  [N] No [?] Help (default is "Y"): y
Access is denied.
    + CategoryInfo          : InvalidOperation: (System.String[]:String[]) [Enable-WSManCredSSP], InvalidOperationExce ption
    + FullyQualifiedErrorId : WsManError,Microsoft.WSMan.Management.EnableWSManCredSSPCommand
    + PSComputerName        : 192.168.30.81

但是如果我在使用Powershell v3.0的Windows 8上尝试它,它会执行命令而不会让我拒绝访问。 如果在PowerShell v2.0上有任何其他方法可以完成任务,那么它对我来说仍然是相关的。

1 个答案:

答案 0 :(得分:1)

我找到了另一种解决方案。 我没有使用CredSSP连接,而是使用了New-PSDrive的方法,但是对于Powershell v2.0,凭据有一个错误 - 在链接中有关它的更多信息:PowerShell v2.0 Bug

我使用了上面链接中的解决方法解决方案:

$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive("u:", "\\server\share", $false, "domain\user", "password")

该代码将虚拟驱动器链接到我想要使用的共享驱动器,然后当我想从远程共享复制文件时,我将虚拟驱动器用作本地驱动器。

示例:

Copy-Item -Force 'U:\backgroundDefault.jpg'  "C:\Windows\System32\oobe\info\backgrounds\"

我在stackoverflow中找到了另一个主题的答案 New-PSDrive does not support credentials?