我想远程更改几台笔记本电脑的登录界面。 除了将图像从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上有任何其他方法可以完成任务,那么它对我来说仍然是相关的。
答案 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?