目的
接続先のネットワークフォルダが常設でない場合(通常のワークステーションの共有などの場合など)に、スクリプトで存在の有無を確認し、存在する場合だけネットワーク共有を行い、かつネットワークドライブのボリューム名を適切に変更するスクリプト。
内容
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<package>
<job id="MountNetFolder">
<object id="objNetWork" progid="WScript.Network" />
<object id="objFS" progid="Scripting.FileSystemObject" />
<script language="VBScript">
<![CDATA[
'[[ネットワーク]]フォルダ共有のプレフィクス
Const USER_DRIVES_PREFIX = "\\WHITEBASE\UserDrives"
'接続したネットワークフォルダの表示名を変更するAPI
Dim objShellApp
Set objShellApp = CreateObject("Shell.Application") ...(1)
Dim objDriveNS
Dim vUDriveUNC
vUDriveUNC = USER_DRIVES_PREFIX & "\" & objNetWork.ComputerName & "." & objNetWork.UserName
If (objFS.FolderExists(vUDriveUNC) And Not objFS.FolderExists("U:\")) Then
Call objNetWork.MapNetworkDrive("U:", vUDriveUNC, False) ...(2)
Set objDriveNS = objShellApp.NameSpace("U:\") ...(3)
objDriveNS.Items().Item.Name = "UserDrive on WHITEBASE"
Set objDriveNS = Nothing
End If
Set objDriveNS = Nothing
Set objShellApp = Nothing
]]>
</script>
</job>
</package>
(2)ネットワーク共有を行います。
(3)エクスプローラ上のフォルダオブジェクトを作成します。
起動したExplorerに関連づいたフォルダオブジェクトを作成します。
従って実行しているユーザプロファイルに依存したオブジェクトを返します。
Folderオブジェクトの詳細は
MSDN Folder object
最終更新:2008年11月22日 19:05