Win32_NetworkAdapterConfiguration クラスの EnableStatic メソッド
EnableStaticWMI クラス メソッドは、ターゲット ネットワーク アダプターの静的 TCP/IP アドレス指定を有効にします。 その結果、このネットワーク アダプターの DHCP は無効になります。
このトピックでは、マネージド オブジェクト形式 (MOF) 構文を使用します。 このメソッドの使用方法の詳細については、「メソッドの 呼び出し」を参照してください。
構文
uint32 EnableStatic(
[in] string IPAddress[],
[in] string SubnetMask[]
);
パラメーター
-
IPAddress [in]
-
現在のネットワーク アダプターのすべての静的 IP アドレスを一覧表示します。
例: 155.34.22.0。
-
SubnetMask [in]
-
IPAddress パラメーターの値を補完するサブネット マスク。
例: 255.255.0.0。
戻り値
再起動が必要ない場合に正常に完了するには 0 (ゼロ)、再起動が必要な場合は正常に完了した場合は 1 (1)、エラーがある場合は他の数値を返します。 エラー コードの詳細については、「 WMI エラー定数 」または 「WbemErrorEnum」を参照してください。 一般的な HRESULT 値については、「 システム エラー コード」を参照してください。
-
正常に完了し、再起動は必要ありません
-
0
正常に完了しました。再起動は必要ありません。
-
正常に完了し、再起動が必要です
-
1
正常に完了しました。再起動が必要です。
-
このプラットフォームではサポートされていないメソッド
-
64
メソッドは、このプラットフォームではサポートされていません。
-
不明なエラー
-
65
不明なエラー。
-
サブネット マスクが無効です
-
66
サブネット マスクが無効です。
-
返されたインスタンスの処理中にエラーが発生しました
-
67
返されたインスタンスの処理中にエラーが発生しました。
-
入力パラメーターが無効です
-
68
入力パラメーターが無効です。
-
5 つ以上のゲートウェイが指定されています
-
69
5 つ以上のゲートウェイが指定されています。
-
IP アドレスが無効です
-
70
IP アドレスが無効です。
-
無効なゲートウェイ IP アドレス
-
71
ゲートウェイ IP アドレスが無効です。
-
要求された情報のレジストリへのアクセス中にエラーが発生しました
-
72
要求された情報のレジストリへのアクセス中にエラーが発生しました。
-
無効なドメイン名
-
73
ドメイン名が無効です。
-
ホスト名が無効です
-
74
ホスト名が無効です。
-
プライマリ/セカンダリ WINS サーバーが定義されていません
-
75
プライマリまたはセカンダリ WINS サーバーが定義されていません。
-
無効なファイル
-
76
無効なファイルです。
-
無効なシステム パス
-
77
システム パスが無効です。
-
ファイルのコピーに失敗しました
-
78
ファイルのコピーに失敗しました。
-
無効なセキュリティ パラメーター
-
79
セキュリティ パラメーターが無効です。
-
TCP/IP サービスを構成できない
-
80
TCP/IP サービスを構成できません。
-
DHCP サービスを構成できない
-
81
DHCP サービスを構成できません。 詳細については、「解説」を参照してください。
-
DHCP リースを更新できない
-
82
DHCP リースを更新できません。
-
DHCP リースを解放できない
-
83
DHCP リースを解放できません。
-
アダプターで IP が有効になっていない
-
84
アダプターで IP が有効になっていません。
-
アダプターで IPX が有効になっていない
-
85
アダプターで IPX が有効になっていません。
-
フレーム/ネットワーク番号の境界エラー
-
86
フレームまたはネットワーク番号の境界エラー。
-
フレームの種類が無効です
-
87
フレームの種類が無効です。
-
ネットワーク番号が無効です
-
88
ネットワーク番号が無効です。
-
重複するネットワーク番号
-
89
重複するネットワーク番号。
-
パラメーターの範囲外
-
90
パラメーターが範囲外です。
-
アクセスが拒否されました
-
91
アクセスが拒否されました。
-
メモリ不足
-
92
メモリが不足しています。
-
既に存在する
-
93
既に存在します。
-
パス、ファイル、またはオブジェクトが見つかりません
-
94
パス、ファイル、またはオブジェクトが見つかりません。
-
サービスに通知できない
-
95
サービスに通知できません。
-
DNS サービスに通知できない
-
96
DNS サービスに通知できません。
-
インターフェイスが構成できない
-
97
インターフェイスは構成できません。
-
すべての DHCP リースをリリースまたは更新できない
-
98
すべての DHCP リースを解放または更新できるわけではありません。
-
アダプターで DHCP が有効になっていない
-
100
アダプターで DHCP が有効になっていません。
-
2147786788
-
書き込みロックが有効になっていません。 詳細については、「 INetCfgLock::AcquireWriteLock」を参照してください。
-
その他
-
101 4294967295
注釈
EnableStatic を使用してリモート コンピューターの IP アドレスを変更すると、そのアダプターを介して接続されている間に、リモート コンピューターへの接続が緩み、RPC が使用できないというエラー メッセージが表示される可能性があります。 (ただし、設定は変更されます)。 このシナリオを回避するには、アダプターの IP アドレスを設定する前に、ゲートウェイまたは DNS の設定を変更することを検討してください。
EnableStatic を使用してアダプターに静的 IP 構成を提供する場合、アダプターが静的アドレスで既に構成されている場合、関数は "81 - DHCP サービスを構成できません" を返します。 ただし、関数は新しい操作で設定に成功します。
例
静的 IP を使用した後、TechNet ギャラリーのドメイン PowerShell コード サンプルに参加すると、EnableStatic を使用してローカル コンピューターに静的 IP が追加されます。
TechNet ギャラリーの 静的 IP アドレスの割り当て VBScript コード例では、 EnableStatic を 使用してコンピューターの IP アドレスを設定します。
次の VBScript サンプルは、 Win32_NetworkAdapterConfigurationのインスタンスで DHCP の使用を無効にする方法を示しています。 この場合、インデックスが 0 のアダプターを指定します。 他のインターフェイスのWin32_NetworkAdapter インスタンスから正しいインデックスを選択する必要があります。
注意
このスクリプトは、NT ベースのシステムにのみ適用されます。以下の ipaddr 変数とサブネット変数を、アダプターに適用する値に変更します。
Set Adapter = GetObject("winmgmts:Win32_NetworkAdapterConfiguration=1")
ipaddr = Array("1.1.1.1")
subnet = Array("255.255.255.0")
RetVal = Adapter.EnableStatic(ipaddr,subnet)
if RetVal = 0 then
WScript.Echo "DHCP disabled, using static IP address"
else
WScript.Echo "DHCP disable failed"
end if
次の Perl サンプルは、 Win32_NetworkAdapterConfigurationのインスタンスで DHCP の使用を無効にする方法を示しています。 この場合、インデックスが 0 のアダプターを指定します。 他のインターフェイスのWin32_NetworkAdapter インスタンスから正しいインデックスを選択する必要があります。
注意
このスクリプトは、NT ベースのシステムにのみ適用されます。以下の ipaddr 変数とサブネット変数を、アダプターに適用する値に変更します。
use strict;
use Win32::OLE;
my ($Adapter, @ipaddr, @subnet, $RetVal);
eval { $Adapter =
Win32::OLE->GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2:Win32_NetworkAdapterConfiguration.Index=\"0\""); };
unless ($@)
{
push @ipaddr, "192.168.144.107";
push @subnet, "255.255.255.0";
$RetVal = $Adapter->EnableStatic(\@ipaddr, \@subnet);
if ($RetVal == 0)
{
print "\nDHCP disabled, using static IP address\n";
}
else
{
print "\nDHCP disable failed\n";
}
}
else
{
print STDERR "\n", Win32::OLE->LastError, "\n";
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |
名前空間 |
Root\CIMV2 |
MOF |
|
[DLL] |
|