在 Windows 2012 上从 PowerShell 挂载 NFS 并在其他地方可见

在 Windows 2012 上从 PowerShell 挂载 NFS 并在其他地方可见

我想使用 PowerShell 从 Windows 2012 挂载 NFS 共享,并让此挂载在调用它的 PowerShell 会话以外的上下文中可见。如果我使用 New-PSDrive 命令(cmdlet?),例如:

New-PSDrive Z -PsProvider FileSystem -Root \\10.40.1.1\export\isos

然后它会将 NFS 服务器安装到 Z 驱动器,但我无法在文件资源管理器中访问该驱动器。

答案1

内核崩溃关于 PSDrive cmdlet 只能在 PowerShell 环境中使用的说法是正确的。TechNet 文章“使用新的 –PSDrive Cmdlet' 指出“映射驱动器的持续时间仅与当前 Windows PowerShell 会话一样长。”但是,您可以创建一个配置文件,该文件将在每次启动 PowerShell 时重新映射驱动器。

此外,TechNet 文章“转换 Windows 脚本宿主 MapNetworkDrive 方法' 还指出,只要您在 Windows PowerShell 中工作,使用 –PSDrive cmdlet 创建的任何驱动器“都可以像任何其他映射网络驱动器一样使用”。这是一个 PowerShell 驱动器,而不是真正的映射驱动器。本文继续说明您可以使用 Net Use 命令在 PowerShell 中映射驱动器:

net use z: \\server\folder

希望这可以帮助,

答案2

您需要使用坚持旗帜。

New-PSDrive Z -PsProvider FileSystem -Root \\10.40.1.1\export\isos -Persist

-坚持

创建 Windows 映射网络驱动器。映射网络驱动器保存在本地计算机的 Windows 中。它们是执着的,不特定于会话,可以在文件资源管理器和其他工具中查看和管理。驱动器名称必须为字母,例如 D 或 E。Root 参数的值必须是指向另一台计算机的 UNC 路径。PSProvider 参数的值必须是 FileSystem。要断开 Windows 映射网络驱动器,请使用 Remove-PSDrive cmdlet。断开 Windows 映射网络驱动器时,映射将从计算机中永久删除,而不仅仅是从当前会话中删除。注意:映射网络驱动器特定于用户帐户。在使用“以管理员身份运行”选项或使用其他用户的凭据启动的会话中创建的映射网络驱动器在未使用明确凭据或当前用户的凭据启动的会话中不可见。

https://technet.microsoft.com/en-us/library/hh849829.aspx

答案3

我的理解是,在 Powershell 3 之前,PSDrive cmdlet 是 shell 和某些数据存储之间的映射。这不会超出“shell”。Powershell 3.0 具有 Persistent 参数,可以执行您想要的操作。

答案4

mount来自命令行的命令。

mount <NFS_Server_IP>:<Share_Path> <Mount_Point>

相关内容