Windows Server 2008 Server Core / Hyper-V Server 2008 R2 でネットワークインターフェースを有効にする 、あるいは NetBIOS over TCP/IP を無効にする

http://social.technet.microsoft.com/Forums/en-US/winservercore/thread/d18bd172-e1a0-4a61-ba52-0952a1e3cabc

NetBIOS の無効化を探しているとこのページがひっかかった。wmic コマンドであれば以下のような感じ。

# 状況の確認
wmic nicconfig get "caption,Index,TcpipNetBiosOptions"
# 無効にする
wmic nicconfig where index=0 call SetTcpipNetbios 2
# 有効にする
wmic nicconfig where index=0 call SetTcpipNetbios 1

これを PowerShell から WMI を叩くようにするなら

# 状況の確認
Get-WMIObject Win32_NetworkAdapterConfiguration
# NetBIOSを無効にする
(Get-WMIObject -query "select Index,Description,TcpipNetbiosOptions from Win32_NetworkAdapterConfiguration where Index=0").SetTcpipNetBios(2)
# NetBIOSを無効にする別の方法
(Get-WMIObject -Class Win32_NetworkAdapterConfiguration -Filter Index=0).SetTcpipNetBios(2)
# なぜか Invoke-WMIMethod には失敗した

結局のところ、WMIの Win32_NetworkAdapterConfiguration クラスを調査することになったのだが、この過程で隣に Win32_NetworkAdapter があるのに気づいた。

ネットワークインターフェース自体を有効にするには

# 状況の確認
Get-WMIObject Win32_NetworkAdapter
# インターフェースを有効にする
Invoke-WMIMethod -Path "Win32_NetworkAdapter.DeviceID=0" -Name Enable
# または
(Get-WMIObject -Class Win32_NetworkAdapter -Filter DeviceID=0).Enable()
# または
(Get-WMIObject -query "select * from Win32_NetworkAdapter where DeviceID=0").Enable()

で、ネットワークインターフェース自体の有効化は、以下のnetshコマンドでいけるように思えるのだが、Hyper-V Server 2008 R2 においてこれが全く機能しない。最近これに困っていたので後者を見つけられてよかった。

使えない: netsh interface set interface インターフェース名 admin=ENABLED

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。