Я пытаюсь установить пару сетевых дисков, а затем переименовать их. Однако мой скрипт Powershell терпит неудачу после первого переименования файлов. Для второго я получаю сообщение об ошибке:Как сменить метку диска с помощью 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
Мой сценарий выглядит следующим образом:
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()
Что я делаю неправильно?
Отлично работает. – b3n
Ever Happy Help. –
Интересно. Хороший пример возврата к широкому спектру технологий, которые PowerShell склеивает вместе, когда у PowerShell нет очевидного способа выполнить задачу. –