我正在尝试安装几个网络驱动器,然后重命名它们.但是,在第一个驱动器重命名后,我的Powershell脚本失败了.对于第二个我得到一个错误:
Exception calling "Put" with "0" argument(s): ""
At C:\Users\ben\Documents\mapdrives.ps1:12 char:11
+ $disk.Put <<<< ()
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
Run Code Online (Sandbox Code Playgroud)
我的脚本看起来像这样:
cls
$Username = ""
$Password = ""
$net = New-Object -com WScript.Network;
$Drive = "M:"
$UNC = "\\server01\bin$"
$net.mapnetworkdrive($Drive, $Unc, $false, $Username, $Password)
$disk = Get-WmiObject "Win32_LogicalDisk WHERE DeviceID='M:'"
if (-not $disk) { return }
$disk.VolumeName = "server1_bin"
$disk.Put()
$Drive = "N:"
$UNC = "\\server01\data$"
$net.mapnetworkdrive($Drive, $Unc, $false, $Username, $Password)
$disk = Get-WmiObject "Win32_LogicalDisk WHERE DeviceID='N:'"
if (-not $disk) { return }
$disk.VolumeName = "server1_data"
$disk.Put()
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
尝试使用comobject标记驱动器:
$a = New-Object -ComObject shell.application
$a.NameSpace( "M:\" ).self.name = "server1_bin"
Run Code Online (Sandbox Code Playgroud)
在任何情况下,您都需要以具有管理权限的用户身份运行控制台
| 归档时间: |
|
| 查看次数: |
5468 次 |
| 最近记录: |