技術情報
WshNetworkオブジェクト
ネットワーク上の共有リソースに対する操作環境を提供するオブジェクトです。
このオブジェクトを使うには、CreateObjectを使って、WshNetworkオブジェクトを生成しておかなければなりません。

[オブジェクトの生成]
Set オブジェクト変数 = WScript.CreateObject("WScript.Network")

プロパティ
  • ComputerNameプロパティ
  • スクリプトを実行中のローカルコンピュータ名を取得します。

    書式 "WshNetworkオブジェクト".ComputerName

    (例)
    'コンピュータ名を表示します
    Dim oNetwork
    Set oNetwork = WScript.CreateObject("WScript.Network")
    WScript.Echo oNetwork.Computername

  • UserDomainプロパティ
  • スクリプトを実行中のユーザのドメイン名を取得します。

    書式 "WshNetworkオブジェクト".UserDomain
    ワークグループ環境の場合は、ローカルコンピュータ名を返します。

    (例)
    'ドメイン名を表示します
    Dim oNetwork
    Set oNetwork = WScript.CreateObject("WScript.Network")
    WScript.Echo oNetwork.UserDomain

  • UserNameプロパティ
  • スクリプトを実行中のユーザ名を取得します。

    書式 "WshNetworkオブジェクト".UserName

    (例)
    'ユーザ名を表示します
    Dim oNetwork
    Set oNetwork = WScript.CreateObject("WScript.Network")
    WScript.Echo oNetwork.UserName


メソッド
  • AddWindowsPrinterConnectionメソッド
  • ネットワークプリンタをローカルコンピュータに追加します。

    書式 "WshNetworkオブジェクト".AddWindowsPrinterConnection(引数1)
    ■ 引数1(必須)
    ネットワークプリンタへのパスを指定します。

    [備考]
    このメソッドではプリンタポートなどの割り当てを指定することはできません。

    (例)
    'サーバに接続されたプリンタをローカルコンピュータに追加します
    Dim oNetwork
    Set oNetwork = WScript.CreateObject("WScript.Network") oNetwork.AddWindowsPrinterConnection "\\Server01\PrinterA"

  • AddPrinterConnectionメソッド
  • ネットワークプリンタをMS-DOSベースでローカルコンピュータに追加します。

    書式 "WshNetworkオブジェクト".AddPrinterConnection(引数1,引数2,引数3,引数4,引数5)
    ■ 引数1(必須)
    接続するプリンタを割り当てるプリンタポートを指定します。
    (例) "LPT1"
    ■ 引数2(必須)
    ネットワークプリンタへのパスを指定します。
    ■ 引数3
    プリンタの接続情報をユーザプロファイルに格納するかどうかを指定します。
    True を指定すると、プロファイルに保存されます。
    未指定の場合は、False となります。
    ■ 引数4
    ユーザ名を使ってプリンタに接続する場合に、ユーザ名を指定します。
    ■ 引数5
    ユーザ名とパスワードを使ってプリンタに接続する場合に、パスワードを指定します。

    (例)
    'サーバに接続されたプリンタをローカルコンピュータに追加します
    Dim oNetwork
    Set oNetwork = WScript.CreateObject("WScript.Network") oNetwork.AddPrinterConnection "LPT1", "\\Server01\PrinterA"

  • EnumNetworkDrivesメソッド
  • 現在のネットワークドライブの割り当て情報を格納した配列オブジェクトを取得します。

    書式 "WshNetworkオブジェクト".EnumNetworkDrives
    配列にはネットワークドライブのローカル名とそのUNCパスがセットで格納されています。
    UNCパスのみを扱うには、配列の要素を1つ飛ばしで指定します。
    配列の値を参照するには、配列.Item(インデックス) または 配列(インデックス) という格好で参照することができます。

    (例)
    'ネットワークドライブの一覧を表示します
    Dim oNetwork, oDrives
    Set oNetwork = WScript.CreateObject("WScript.Network")
    Set oDrives = oNetwork.EnumNetworkDrives
    For i = 0 to oDrives.Count - 1 Step 2
    WScript.Echo "ドライブ:" & oDrives.Item(i) & "," & oDrives.Item(i+1)
    Next

  • EnumPrinterConnectionsメソッド
  • 現在のネットワークプリンタの割り当て情報を格納した配列オブジェクトを取得します。

    書式 "WshNetworkオブジェクト".EnumPrinterConnections
    配列にはネットワークプリンタのローカル名とそのUNCパスがセットで格納されています。
    UNCパスのみを扱うには、配列の要素を1つ飛ばしで指定します。
    配列の値を参照するには、配列.Item(インデックス) または 配列(インデックス) という格好で参照することができます。

    (例)
    'ネットワークプリンタの一覧を表示します
    Dim oNetwork, oPrinters
    Set oNetwork = WScript.CreateObject("WScript.Network")
    Set oPrinters = oNetwork.EnumPrinterConnections
    For i = 0 to oPrinters.Count - 1 Step 2
    WScript.Echo "プリンタ:" & oPrinters.Item(i) & "," & oPrinters.Item(i+1)
    Next

  • MapNetworkDriveメソッド
  • 共有フォルダをネットワークドライブとして割り当てます。

    書式 "WshNetworkオブジェクト".MapNetworkDrive(引数1,引数2,引数3,引数4,引数5)
    ■ 引数1(必須)
    ネットワークドライブとして割り当てるドライブ名を指定します。
    (例) "D:"
    ■ 引数2(必須)
    共有フォルダのUNCパスを指定します。
    ■ 引数3
    ネットワークドライブの割り当て情報をユーザプロファイルに格納するかどうかを指定します。
    True を指定すると、プロファイルに保存されます。
    未指定の場合は、False となります。
    ■ 引数4
    ユーザ名を使ってネットワークドライブに接続する場合に、ユーザ名を指定します。
    ■ 引数5
    ユーザ名とパスワードを使ってネットワークドライブに接続する場合に、パスワードを指定します。

    (例)
    '共有フォルダをEドライブにマウントします
    Dim oNetwork
    Set oNetwork = WScript.CreateObject("WScript.Network")
    oNetwork.MapNetworkDrive "E:", "\\Server01\データフォルダ"

  • RemoveNetworkDriveメソッド
  • ネットワークドライブの接続を解除します。

    書式 "WshNetworkオブジェクト".RemoveNetworkDrive(引数1,引数2,引数3)
    ■ 引数1(必須)
    接続を解除するネットワークドライブ名を指定します。
    (例) "D:"
    ■ 引数2
    ネットワークドライブが現在使用中かどうかにかかわらず、接続を強制的に解除する場合は True を指定します。
    未指定の場合は、False となります。
    ■ 引数3
    ネットワークドライブの割り当て解除情報をユーザプロファイルに格納するかどうかを指定します。
    True を指定すると、プロファイルに保存されます。
    未指定の場合は、False となります。

    (例)
    'Eドライブへ割り当てたネットワークドライブを解除します
    Dim oNetwork
    Set oNetwork = WScript.CreateObject("WScript.Network")
    oNetwork.RemoveNetworkDrive "E:", True

  • RemovePrinterConnectionメソッド
  • ネットワークプリンタの割り当てを解除します。

    書式 "WshNetworkオブジェクト".RemovePrinterConnection(引数1,引数2,引数3)
    ■ 引数1(必須)
    割り当てを解除するプリンタパスを指定します。
    ■ 引数2
    ネットワークプリンタが現在使用中かどうかにかかわらず、割り当てを強制的に解除する場合は True を指定します。
    未指定の場合は、False となります。
    ■ 引数3
    ネットワークプリンタの割り当て解除情報をユーザプロファイルに格納するかどうかを指定します。
    True を指定すると、プロファイルに保存されます。
    未指定の場合は、False となります。

    (例)
    'ネットワークプリンタの割り当てを解除します
    Dim oNetwork
    Set oNetwork = WScript.CreateObject("WScript.Network")
    oNetwork.RemovePrinterConnection "\\Server\PrinterA", True

  • SetDefaultPrinterメソッド
  • ネットワークプリンタを既定のプリンタに指定します。

    書式 "WshNetworkオブジェクト".SetDefaultPrinter(引数1)
    ■ 引数1(必須)
    既定のプリンタにするプリンタパスを指定します。

    (例)
    'ネットワークプリンタを既定のプリンタにします
    Dim oNetwork
    Set oNetwork = WScript.CreateObject("WScript.Network")
    oNetwork.AddWindowsPrinterConnection "\\Server\PrinterA"
    oNetwork.SetDefaultPrinter "\\Server\PrinterA"