映射的网络驱动器未显示在“我的电脑”中
Mapped network drives are not showing in My Computer
我正在尝试使用 PowerShell 5.0 创建外部网络驱动器。我需要那些驱动器才能显示在我的电脑中。
为此,我正在使用这个跟随命令。
New-PSDrive -Name "X" -PSProvider FileSystem -Root "\192.168.0.1\hde_path" -Persist
这个命令有什么问题吗?因为根据我的理解,如果我使用 -Persist 它应该显示在我的电脑 window.
使用后,映射的驱动器 X: 未显示在我的电脑中。
欢迎使用 Windows10 和强制用户帐户控制的无尽问题。
您会注意到,如果您在计算机中映射网络驱动器,然后 运行 PowerShell 作为管理员,您将无法访问这些驱动器。我假设反之亦然。
不幸的是,没有办法关闭这个 "feature",至少在不破坏其他一切的情况下是这样。您只需管理 运行 PowerShell 的访问级别,因为映射网络驱动器必须在用户级别完成。
我遇到了同样的问题。我的解决方案是在 "Normal-Mode" 而不是 "Administrator-Mode" 中启动 powershell ISE(PS 运行 作为管理员)。我不知道为什么会出现这种现象,但是在我运行 Normal-Mode 中的powershell ISE 之后,驱动器显示在资源管理器中。
问候
当我从脚本 运行 执行此操作时,它不起作用,因为会话在脚本完成时过期。
当我粘贴到 PowerShell window 时有效,然后我可以看到共享出现在这台电脑中
我想你把命令放在 ps1 文件里了。正如这篇官方文章中所解释的:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-psdrive
你有两个解决方案:
您在调用 ps1 文件之前添加一个前导点。假设您的 ps1 文件名为 MyDrive.ps1。你必须 运行:
. .\MyDrive.ps1
您必须在命令中使用 -Scope Global
参数。你的代码应该是
New-PSDrive -Name "X" -PSProvider FileSystem -Root "\192.168.0.1\hde_path" -Scope Global -Persist
祝你好运
全部 说你应该使用 -Persistent
or/and -Scope 'Global'
的答案是 错误的 当您想在文件资源管理器中查看驱动器时的情况。
甚至 Microsoft Docs 中的文档也是错误的。
PSDrive 映射没用。您可以将网络路径保存在 $Z
中并在脚本中将其用作路径,但用户需要在文件资源管理器中进行映射。这种情况不包括...很容易。
其他方式,例如 (New-Object -ComObject "Wscript.Network").MapNetworkDrive("Z:", "\192.168.20.100\share", $True)
或
New-SmbMapping -LocalPath 'Z:' -RemotePath "\192.168.20.100\share"
对我不起作用。
您可以发挥创意,学习如何使用 windows 进行操作并自动创建 UI 映射。
我正在尝试使用 PowerShell 5.0 创建外部网络驱动器。我需要那些驱动器才能显示在我的电脑中。 为此,我正在使用这个跟随命令。
New-PSDrive -Name "X" -PSProvider FileSystem -Root "\192.168.0.1\hde_path" -Persist
这个命令有什么问题吗?因为根据我的理解,如果我使用 -Persist 它应该显示在我的电脑 window.
使用后,映射的驱动器 X: 未显示在我的电脑中。
欢迎使用 Windows10 和强制用户帐户控制的无尽问题。
您会注意到,如果您在计算机中映射网络驱动器,然后 运行 PowerShell 作为管理员,您将无法访问这些驱动器。我假设反之亦然。
不幸的是,没有办法关闭这个 "feature",至少在不破坏其他一切的情况下是这样。您只需管理 运行 PowerShell 的访问级别,因为映射网络驱动器必须在用户级别完成。
我遇到了同样的问题。我的解决方案是在 "Normal-Mode" 而不是 "Administrator-Mode" 中启动 powershell ISE(PS 运行 作为管理员)。我不知道为什么会出现这种现象,但是在我运行 Normal-Mode 中的powershell ISE 之后,驱动器显示在资源管理器中。 问候
当我从脚本 运行 执行此操作时,它不起作用,因为会话在脚本完成时过期。
当我粘贴到 PowerShell window 时有效,然后我可以看到共享出现在这台电脑中
我想你把命令放在 ps1 文件里了。正如这篇官方文章中所解释的: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-psdrive
你有两个解决方案:
您在调用 ps1 文件之前添加一个前导点。假设您的 ps1 文件名为 MyDrive.ps1。你必须 运行:
. .\MyDrive.ps1您必须在命令中使用
-Scope Global
参数。你的代码应该是New-PSDrive -Name "X" -PSProvider FileSystem -Root "\192.168.0.1\hde_path" -Scope Global -Persist
祝你好运
全部 说你应该使用 -Persistent
or/and -Scope 'Global'
的答案是 错误的 当您想在文件资源管理器中查看驱动器时的情况。
甚至 Microsoft Docs 中的文档也是错误的。
PSDrive 映射没用。您可以将网络路径保存在 $Z
中并在脚本中将其用作路径,但用户需要在文件资源管理器中进行映射。这种情况不包括...很容易。
其他方式,例如 (New-Object -ComObject "Wscript.Network").MapNetworkDrive("Z:", "\192.168.20.100\share", $True)
或
New-SmbMapping -LocalPath 'Z:' -RemotePath "\192.168.20.100\share"
对我不起作用。
您可以发挥创意,学习如何使用 windows 进行操作并自动创建 UI 映射。