在我的 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 看到。此外,在提升权限(“以管理员身份”] 时完成的映射将不会被未提升权限的同一帐户看到。///// 您描述的行为正是我所期望的。
因此您需要在系统范围内映射驱动器。为此,首先您需要使用psexec
Sysinternals 工具。
- 运行
psexec -s -i powershell
(以 SYSTEM 用户身份进入 Powershell 会话) - 然后映射您需要的驱动器
现在映射驱动器将显示在系统范围内
答案2
以另一个用户身份运行始终需要将进程提升到管理员模式,这会向进程隐藏用户模式映射驱动器。
以用户 B 的身份运行 PowerShell,然后映射驱动器,您就应该能够访问它。
如果您未处于提升状态,则可以重新使用用户 B 已有的驱动器映射,但您需要以用户 B 的身份登录。