这是关于著名的双跳限制,看上去微不足道,至少有10个解决方案,但我甚至找不到一个适合我的设置。
这里是我的环境:我在Windows 10上有大约50台虚拟机,每个VM运行在一个单独的硬件上--我们使用虚拟机,因为我们的IT人员声称它更容易维护和物理上的虚拟机,我个人不喜欢VM,但这并不取决于我。我们在一个非域环境中,没有Active,我们使用一个工作组,每台机器都是单独管理的。
我的目标是优化PC管理,如安装软件、注册/启动服务等--我需要在所有机器上一次完成这些工作,而不是每项任务执行50次。我设法相对较快地运行了PowerShell远程,但很快我就无法访问任何需要额外身份验证的网络资源(我们所有的网络共享都需要LDAP身份验证)。
到目前为止我尝试过的。
Invoke-Command运行远程命令,第一个身份验证是连接到机器bw33,然后使用New-PSDrive命令将另一个身份验证发送到已经与bw33建立的会话,用用户名和密码挂载网络共享。这有时在非常罕见的情况下确实有效,但我无法确定它何时起作用,为什么在大多数情况下不起作用。尽管我执行的是完全相同的PowerShell脚本十几次,但它只对其中的一小部分起作用,而其他部分则是这样说的:
指定的登录会话不存在。它可能已经终止了+ CategoryInfo : InvalidOperation:(u:PSDriveInfo) PSDriveInfo,Win32Exception + FullyQualifiedErrorId : CouldNotMapNetworkDrive,Win32Exception+ PSComputerName : bw33无法找到路径'\bladefs\share2\text.txt‘,因为它不存在。+ CategoryInfo : ObjectNotFound:(\bladefs\share2\text.txt:String) Get-Content,ItemNotFoundException + FullyQualifiedErrorId : PathNotFound,ItemNotFoundException+ PSComputerName : bw33
实际上,我在下面的视频中捕捉到了一个工作和不工作的尝试:8qgpI2kmlUDgF。
正如您可以看到的,在第一次执行时,一切都很好,PSDrive被成功地映射,我可以到达\bladefs\share2网络路径,但是在第二次执行时,我得到了一些错误。发布于 2019-01-08 21:03:32
我有一个有点类似的问题,你前一段时间,但我有一个域加入了安装程序。只要你有凭据,那就不会有多大的区别。在您的示例中,您似乎没有使用实际的PSCredential对象,这可能是您的问题。如果您可以使用相同的凭据连接到远程系统,然后返回到您的共享,那么这应该可以:
$Password = Read-Host -Prompt 'Enter Password' -AsSecureString
$Credential = New-Object -TypeName PSCredential('username',$Password)
$mappedDrive = @{
Name = "u"
PSProvider = "FileSystem"
Root = "\\bladefs\share2"
Credential = $Credential
}
Invoke-Command -ComputerName bw33 -Credential $Credential -ScriptBlock {
New-PSDrive @Using:mappedDrive
# Do Stuff...
Remove-PSDrive -Name "u"
}https://stackoverflow.com/questions/54099165
复制相似问题