Get-PSDrive 可以映射网络空间吗?

Get-PSDrive 可以映射网络空间吗?

这是我的代码,$var.droppath是一个有效的网络空间路径,我已经测试过了。

$map3 = new-PSDrive -name droppath -psprovider FileSystem -root $var.droppath

然后我就跑了

Get-PSDrive | ?{$_.Name -match "droppath"} | FT -AutoSize

得到结果:

Name     Used (GB) Free (GB) Provider  Root                                                                                                 CurrentLocation
----     --------- --------- --------   ----                                                                                                 ---------------
droppath                     FileSystem \\network\sharespace\test1                                                                            

为什么已用空间和可用空间都是空的?这是否意味着 get-psdrive 无法映射网络空间,或者我犯了什么错误?

答案1

Get-PSDrive 工具仅返回具有可用信息的提供商的可用和已使用信息。奇怪的是,PS 并不容易获取 PS-Drives 的信息,因为它实际上是一个别名,可能会映射到没有该信息的东西。PS-drives 仅在会话中存在,因此它们不是完整的操作系统级别映射。因此,您无法获得操作系统级别的信息,例如远程可用空间。

简单的解决方法是使用net use并将其映射到真实驱动器号。完成后别忘了将其拆除。

更新我遗漏了这个链接:通过 powershell 查询不同的空闲共享空间,但每次都得到相同的结果其中有一些示例代码可以从 PS 进行映射并手动获取所需的数据。

答案2

Mark 是对的,但是查看有关 Get-PSDrive 的 TechNet 文章这里,您可以看到,通过使用 get-wmiobject 和 win32_logicaldisk 类,您可以非常轻松地获取可用空间和总空间。

相关内容