背景
对网络还不太熟悉。我有两台机器。一台是运行 Debian 的 Linux 机器(Computer A
),另一台是 Windows 机器( )。Linux 机器上有一个 Samba 共享,两台机器都在同一网络上。我可以使用密钥对身份验证通过 SSH 会话Computer B
登录。我还可以直接访问 Samba 共享,也可以通过将其映射到 Windows 中的驱动器号来访问。Computer B
Computer A
Computer B
我想Computer B
通过 的 SSH 会话运行驻留在 上的 PowerShell 脚本Computer A
。该脚本将顺利运行并执行命令以将 Samba 共享挂载Computer B
为PSDrive
。Computer B
每次运行此脚本之前都会恢复为“基本”快照(因此在执行脚本之前驱动器从未挂载过)。
问题
在 SSH 会话中执行 PowerShell 脚本中的此行时Computer A
...
New-PSDrive -Name $driveLetter -PSProvider FileSystem -Root $sharePath -Credential $cred
我有时收到这个熟悉的消息
New-PSDrive : A specified logon session does not exist. It may already have been terminated.
我知道这是经典双跳问题场景,并且有解决方法。安全性不是太大的问题,因为这一切都在一个独立的网络上。让我困惑的是这种不一致。
迄今为止
经过一些调整,我发现我可以PSDrive
在重新启动后Computer B
成功创建然后执行 PowerShell 脚本。每次都是这种情况,而且这是我能够以PSDrive
可预测的方式安装的唯一方法。这不是一个主要问题,但对于我们的自动化流程来说并不理想。
已经PSDrive
成功安装,无需Computer B
事先重新启动,但可能 90% 以上的时间都没有成功。
我该怎么做才能使此步骤更加一致和可靠,最好Computer B
每次运行 PowerShell 脚本后都无需重新启动?还是这只是我必须解决的组件之一的怪癖?