以前、Windowsのネットワークドライブの名前を変更するスクリプトを作成した備忘録です。
色々調べましたが、ネットワークドライブ名はコマンドプロンプトやPowerShellでは変更出来ないとの情報があったので、VBSで作成してみました。
今回のスクリプトでは、ADのユーザー情報を取得してネットワークドライブ名に使用しています。
ADに登録されている属性であれば、他の属性値を名前に使用出来ます。
On Error Resume Next
‘実行前に名前変更対象のドライブ文字に変更する
strDrive = “N:\”
‘オブジェクト情報取得
Set objSysInfo = CreateObject(“ADSystemInfo”)
objUser = objSysInfo.UserName
Set objUser = GetObject(“LDAP://” & objUser)
‘社員ID抽出対象の文字列(UPN)
strString = objUser.UserPrincipalName
‘抽出位置指定用の検索文字列
strSearch = “@”
‘変更後の名前 = “フルネーム(表示名)”+”スペース”+”(“+”ユーザーログオン名”+”)”
‘LeftでUPNの左から(@の位置-1文字)を抽出 例)123456@test.local→123456
strName = (objUser.displayName & ” ” & “(” & Left(objUser.UserPrincipalName,InStr(strString,strSearch)-1) & “)” )
‘ネットワークドライブ名変更実施
With CreateObject(“Shell.Application”).NameSpace(strDrive)
.Items().Item().Name = strName
End With
コメント