私はいくつかのネットワークドライブをマウントしてから名前を変更しようとしています。しかし、私のPowershellスクリプトは、最初のドライブの名前が正しく変更された後に失敗しています。二つ目のために私はエラーを取得する:私は間違って何をやっているPowershellを使用してドライブラベルを変更するには?
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()
:
Exception calling "Put" with "0" argument(s): ""
At C:\Users\ben\Documents\mapdrives.ps1:12 char:11
+ $disk.Put <<<<()
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
私のスクリプトは次のようになりますか?
素晴らしい、ありがとう。 – b3n
これまでお世話になりました。 –
興味深い。 PowerShell自体が、タスクを達成する明白な方法を持っていないときに、PowerShellが一緒に糊付けする幅広い技術に落ちる良い例です。 –