指定的登录会话不存在。可能已经终止。

8

当我使用Invoke-command运行脚本时,无法将驱动器映射到工作组计算机。我正在使用Invoke-command连接到一个工作组计算机,尝试映射驱动器。我能够连接到该计算机,但无法映射驱动器。

我尝试了以下选项:

我尝试使用

net use $driveName $ShareLocation $Password /u:$Username

出现错误:
System error 1312 has occurred. + CategoryInfo : NotSpecified: (System error 1312 has occurred.:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError + PSComputerName : 10.125.160.132 A specified logon session does not exist. It may already have been terminated.

我尝试过使用

$net.MapNetworkDrive($driveName, $ShareLocation, $false, $Username, $Password);
New-PSDrive -Name K -PSProvider FileSystem -Scope Global -Root $ShareLocation -Credential $Credential -Persist

获取错误:

A specified logon session does not exist. It may already have been terminated. + CategoryInfo : OperationStopped: (:) [], COMException + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException 

当我直接在远程机器上测试代码时,它可以正常工作。

我还尝试在两台机器上启用CredSSP并使用Invoke-command命令,但没有帮助。


我甚至尝试过检查和删除已经存在的驱动器,使用$Net.RemoveNetworkDrive($driveName, 0)。 - Iliyas
在使用net use时出现错误:系统错误1312。
  • CategoryInfo:未指定:(系统错误1312已发生。:字符串)[],RemoteException
  • FullyQualifiedErrorId:NativeCommandError
  • PSComputerName:10.125.160.132
指定的登录会话不存在。它可能已经被终止。
- Iliyas
在MapNetworkDrive和New-PsDrive上出现错误,指定的登录会话不存在。它可能已经被终止。
  • CategoryInfo:OperationStopped:(),COMException
  • FullyQualifiedErrorId:System.Runtime.InteropServices.COMException
- Iliyas
请将以下与编程有关的内容从英语翻译为中文。请在问题中返回已翻译的文本。在此处它是无法阅读的。 - Andrey Marchuk
2个回答

1
根据这篇Microsoft文章(即使共享不是为DFS而设计),这种行为是有意的,并且可以通过更改Windows策略以允许存储密码来解决。我一直在尝试像Bruno Bieri那样使用"net use",从定期由任务计划程序运行的控制台应用程序,任务计划程序属性对话框包括一个“不存储密码”的复选框;它还说“该任务只能访问本地计算机资源”。我无法取消选中它,因为我的组织的Windows策略不允许此更改。
该策略是本地安全策略>本地策略>安全选项>网络访问:不允许存储用于网络身份验证的密码和凭据。在Windows搜索框中���入“本地安全策略”即可开始。

“我一直在尝试像Bruno Bieri那样使用"net use",有示例吗?” - Tim
3
@brit503 - 这个链接已经失效了,知道具体的重要部分会非常有帮助。 - Security Hound
1
我在那个链接找到了一篇文章的存档,其中指出:在管理服务器上,单击“开始”,单击“运行”,键入gpedit.msc,然后单击“确定”。 在计算机配置下,展开Windows设置,展开安全设置,展开本地策略,然后展开安全选项。在策略窗格中,右键单击“网络访问:不允许存储凭据或.NET护照进行网络身份验证”,单击“属性”,单击“禁用”,然后单击“确定”。相应的注册表名称和位置为:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa
名称:DisableDomainCreds
- brit503

1

谢谢,但我已经尝试过了,仍然得到相同的错误。 - Iliyas
如果出现双跳错误,请尝试使用在Active Directory中具有委派权限的组管理服务帐户运行。当两个服务器通过链接服务器进行通信时,SQL Server存在这样的概念-需要委派以允许用户权限仅访问其他服务器上的授权位置。 GMSA具有足够的权限来授予所需权限。https://learn.microsoft.com/en-us/windows-server/security/group-managed-service-accounts/configure-kerberos-delegation-group-managed-service-accounts - Jamie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接