问题描述
是否可以通过Powershell将SMB共享(或任何其他网络共享)安装到本地文件夹中-除了使用“ net use”以外?
我尝试了New-SmbMapping
和New-PSDrive
。但是我都犯了错误。
这就是我尝试的New-SmbMapping
New-SmbMapping -LocalPath E:\MOUNT\pro\ -RemotePath \\host.example\projects
我得到the specified device name is invalid
并且:
+ CategoryInfo : NotSpecified: (MSFT_SmbMapping:ROOT/Microsoft/...MSFT_SmbMapping) [New-SmbMapping],CimException
+ FullyQualifiedErrorId : Windows System Error 1200,New-SmbMapping
对于New-PSDrive
,似乎根本不可能。
感谢您的帮助!
解决方法
您不能使用 New-SMBMapping
创建到本地文件夹的映射 - 只能创建到驱动器盘符。 “设备名称无效”错误指的是 E:\MOUNT\pro
不是有效的设备字母(它需要一个英文字母)。
要将 SMB 路径装入本地文件夹,您需要创建一个“连接点”——Powershell 称之为 SymbolicLink
。例如:
New-Item -ItemType SymbolicLink -Path mytest -Target '\\computer\share'
本地路径(上例中的 ./mytest
)不能存在,因为 New-Item
需要创建它(这与其他操作系统中的文件系统映射不同)。
您当前的用户必须有权访问远程共享,否则您会收到无帮助的错误消息,例如 New-Item : Cannot find path '\\computer\share' because it does not exist.
您可以通过首次加载访问需要提供用户名和密码的共享在运行 net use
之前使用 New-Item
的凭据(我不知道 Powershell 执行 net use
的方法)。