来自DFS共享错误的New-PsDrive远程复制:指定的登录会话不存在

时间:2013-09-11 16:04:02

标签: powershell map drive

所以回顾一下情况:我在一台计算机上尝试使用enter-pssession computername运行PowerShell,然后从远程会话中运行以下逻辑:

$DFSPath = "\\DFSpath.com"
$RDL1 = [char](1+[char](gdr ?)[-1].name)
New-PSDrive -Name $RDL1 -PSProvider FileSystem -Root $DFSPath -Persist -credential domain\UN

get-variable正确显示变量。但是当我尝试使用New-PSDrive进行创建时,它会给出:

New-PSDrive : A specified logon session does not exist. It may already have
been terminated

我确实看过这个:PowerShell 2.0: Accessing Windows Shares during a Remote Session但是无法让它发挥作用。另外,我不知道如何在上面的脚本中设计它(它将在多台计算机上运行)。有什么新的吗?我正在使用v3 powershell。非常感谢!

1 个答案:

答案 0 :(得分:2)

从事物的外观看,你正在经历可怕的“Double-Hop”。如果您只对几台计算机进行远程操作,那么为“双跳”设置“修复”非常容易。在要远程的计算机上,您需要运行以下命令:

Enable-PSRemoting

Enable-WSManCredSSP Server

然后,在您想要远程的计算机上,您需要运行命令:

Enable-WSManCredSSP Client –DelegateComputer [<FQDN of the server>][*]

代替完全限定的域名,您可以使用*代替。这将允许您将您的凭据发送到任何计算机(这可能是危险的)。

现在你将如何将其用于脚本?有一个名为Invoke-Command的命令。如果您查看Get-Help Invoke-Command -Parameter *的参数,您会看到它需要凭据身份验证。以下是在多台计算机上运行命令的方法。

$MyCred = Get-Credential
Invoke-Command -ComputerName Computer1,Computer2 -Credential $MyCred -Authentication Credssp -ScriptBlock {Get-ChildItem $args[0]} -ArgumentList '\\Server\Share' -ErrorAction SilentlyContinue

现在,如果您将远程连接到许多计算机,并且您知道如何使用组策略。我建议您设置PSRemoting and enabling WSManCred with the Group Policy

相关问题