Quantcast
Channel: Hebikuzure's Tech Memo
Viewing all articles
Browse latest Browse all 125

ファイル共有で利用されている SMB のバージョンを確認する方法

$
0
0

先日の「MS16-110 適用後 NAS などの共有フォルダーに接続できない問題」の記事の調べ物をしている際に見つけた Tips についてメモ代わりに投稿しておきます。

Windows でのファイル共有には SMB プロトコルが利用されていることは良く知られていますが、SMB は Windows 製品で長く使われ機能とセキュリティが強化されてきたため、SMBv1、SMBv2、SMBv3 といったバージョンやさらに細かなダイアレクト が存在しています。通常はサーバー – クライアント間で自動的にネゴシエーションが行われ適切なバージョン・ダイアレクトが利用されるため、こうした違いを意識する必要はないのですが、Windows 製品以外 (Linux 上の Samba や OS Ⅹ、NAS など) と接続する場合や、Windows 間でもトラブルシュートをする場合など、どのようなバージョン・ダイアレクトが利用されているのか確認したい場合があります。

そのような場合、クライアントで次のような方法で利用している SMB のバージョン・ダイアレクトを確認することができます。

クライアントで利用可能な SMB のバージョンを確認する

  1. コマンド プロンプトで以下を実行します
    sc.exe qc lanmanworkstation
  2. 結果がC:\>sc.exe qc lanmanworkstation
    [SC] QueryServiceConfig SUCCESS

    SERVICE_NAME: lanmanworkstation
    TYPE                              : 20  WIN32_SHARE_PROCESS
    START_TYPE                  : 2   AUTO_START
    ERROR_CONTROL          : 1   NORMAL
    BINARY_PATH_NAME     : C:\WINDOWS\System32\svchost.exe -k NetworkService
    LOAD_ORDER_GROUP   : NetworkProvider
    TAG                              : 0
    DISPLAY_NAME             : Workstation
    DEPENDENCIES             : Bowser
    : MRxSmb20
    : NSI
    SERVICE_START_NAME : NT AUTHORITY\NetworkService

    のように表示されます。

  3. DEPENDENCIES 欄を確認します。
    mrxsmb20 がある場合は SMBv2 (Windows 8/Windows Server 2012 以降は SMBv3 も) が有効です。
    mrxsmb10 がある場合は SMBv1 が有効です。

参考 : Windows Vista、Windows Server 2008、Windows 7 、Windows Server 2008 R2、Windows 8、Windows Server 2012 で 、SMBv1、SMBv2、SMBv3 を有効、または無効にする方法

SMB セッションで利用されている SMB のダイアレクトを確認する

実際に開いている SMB セッションでどのような SMB ダイアレクトが利用されているか確認するには、管理者として実行した PowerShell で以下を実行します。
Get-SmbConnection
開いている SMB セッションの利用しているダイアレクトや資格情報などの詳細情報が表示されます。

SMB セッションがないと何も表示されないので、利用ダイアレクトを調べたい相手 (サーバー) 上の共有を開いた状態で実行してください。簡単にはエクスプローラーで共有フォルダーを開いておけば OK です。


カテゴリー:Windows Tips

Viewing all articles
Browse latest Browse all 125

Trending Articles