这是我的代码:
$map = new-Object -com wscript.Network
$map.mapNetworkDrive("v:","\\sharespace\testbuilds\test1")
$fso = new-Object -com Scripting.FileSystemObject
$do = $fso.getdrive("v")
$do.AvailableSpace
$do.TotalSize
我本来想检查一些可用的共享空间。当我第一次运行这些代码时,我得到了正确的大小数据。但是当我更改第二行的路径时,它给我一个错误警报:
Exception calling "MapNetworkDrive" with "2" argument(s): "The local device name is already in use."
At D:\test2fornetworkspace.ps1:5 char:21
+ $map.mapNetworkDrive <<<< ("v:","\\sharespace\testbuilds\test1")
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ComMethodTargetInvocation
然后,结果出来了,总是和第一次运行的结果一样……当然,不同的共享空间有不同的可用大小。所以这是完全错误的……
为什么会发生这种情况?请帮我一下。非常感谢。
答案1
它告诉您 V:已映射。您需要删除该映射才能重新使用驱动器号 V。
在将另一个驱动器重新映射到 V 之前,您应该执行此操作:
$map.removenetworkdrive("v:")