Powershell/命令提示符以其他用途运行时无法切换到映射驱动器

Powershell/命令提示符以其他用途运行时无法切换到映射驱动器

在我的 powershell 提示符下,登录到 Windows 10 PC,Domain\UserA我可以运行 net use 命令来查看我的共享驱动器

net use

列表

+--------+-------+----------------+---------------------------+
| Status | local |     Remote     |          Network          |
+--------+-------+----------------+---------------------------+
| OK     | H:    | \\server1\path | Microsoft Windows Network |
| OK     | I:    | \\server2\path | Microsoft Windows Network |
+--------+-------+----------------+---------------------------+

然后我可以运行

i:

并且提示切换到I:\>

但是,如果我以 powershell 提示符的身份运行Domain\UserB并运行net use命令

我明白了

+-------------+-------+----------------+---------------------------+
|   Status    | local |     Remote     |          Network          |
+-------------+-------+----------------+---------------------------+
| Unavailable | H:    | \\server1\path | Microsoft Windows Network |
| Unavailable | I:    | \\server2\path | Microsoft Windows Network |
| Unavailable | Z:    | \\server3\path | Microsoft Windows Network |
+-------------+-------+----------------+---------------------------+

因为该配置文件具有与第一个配置文件相同的 H:和 I:驱动器,但也有 az:驱动器。

如果我然后跑

I:

我明白了Set-Location : Cannot find drive. A drive with the name 'I' does not exist

我可以在命令提示符中执行相同的过程并得到相同的结果,尽管命令提示符版本的错误:The system cannot find the drive specified

如果我运行基于 GUI 的程序(例如记事本)Domain\UserB并执行文件>打开,我可以在资源管理器窗格中看到 i:\ 驱动器,然后打开它并选择一个文件

所有映射驱动器都会发生这种情况

为什么我无法在运行 Powershell/命令提示符时将目录更改为映射驱动器Domain\userB

答案1

@Lee_Dailey 说得对。

通常,映射驱动器是特定于帐户的。因此,我以用户 A 身份创建的映射将不会被用户 B 看到。此外,在提升权限(“以管理员身份”] 时完成的映射将不会被未提升权限的同一帐户看到。///// 您描述的行为正是我所期望的。

因此您需要在系统范围内映射驱动器。为此,首先您需要使用psexecSysinternals 工具。

  • 运行psexec -s -i powershell(以 SYSTEM 用户身份进入 Powershell 会话)
  • 然后映射您需要的驱动器

现在映射驱动器将显示在系统范围内

答案2

以另一个用户身份运行始终需要将进程提升到管理员模式,这会向进程隐藏用户模式映射驱动器。

以用户 B 的身份运行 PowerShell,然后映射驱动器,您就应该能够访问它。

如果您未处于提升状态,则可以重新使用用户 B 已有的驱动器映射,但您需要以用户 B 的身份登录。

相关内容