3
2

More than 5 years have passed since last update.

nasneの共有フォルダにアクセスするために、PowerShellでWindowsの機能を有効化する

Last updated at Posted at 2018-08-11

前書き

あるときWindows 10 の端末から、nasneの共有フォルダにアクセス出来なくなりました。

具体的には

  • スマホからはアクセス可能
  • PCでもメディアサーバーは見える
  • IPアドレス直打ちでnasne HOMEにアクセス可能
  • エクスプローラーにIPアドレスやnasneの名前を入れてもアクセス不可

という状況でした。

そのときは以下のページを参考に、
「Windowsの機能の有効化または無効化」から
「SMB 1.0/CIFS ファイル共有のサポート」を有効化して、無事共有フォルダにアクセスできるようになりました、

Windows10からnasneの共有フォルダにアクセスする(180811削除)
Windows10からnasneの共有フォルダにアクセスする(キャッシュ)

PowerShellから設定

上記の設定をしたものの、端末移行時などに忘れそう……と思っていたところ、PowerShellから設定できることがわかったため、スクリプトとしてみました。

作成環境

Windows 10 Pro 64bit

$PSVersionTable
Name                           Value
----                           -----
PSVersion                      5.1.17134.165
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.17134.165
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

スクリプト

Get-WindowsOptionalFeature コマンドレットで設定状況の確認
Enable-WindowsOptionalFeature コマンドレットで機能の有効化が行えるため
SMB1ProtocolSMB1Protocol-ClientSMB1Protocol-Serverの3つの機能の確認・有効化を行います。
また、上記コマンドレットの実行にはPowerShellを管理者権限で起動しておく必要があります。

Onlineスイッチでローカルマシンを対象にし、FeatureNameに機能の名前を指定します。
Get-WindowsOptionalFeatureFeatureNameは単一文字列しか受け取れませんが、
Enable-WindowsOptionalFeatureFeatureNameに文字列の配列を受け取れます。

今回はEnable-WindowsOptionalFeatureのパラメータセットに合わせてスプラッティング用のhashtableを定義し、それを使ってパラメータを指定しています。

# for access nasne file server
[hashtable]$param = @{
    Online = $true
    FeatureName = [string[]]@(
        'SMB1Protocol'
        'SMB1Protocol-Client'
        'SMB1Protocol-Server'
    )
}

# 設定状況の確認
$param.FeatureName | Get-WindowsOptionalFeature -Online -FeatureName {$_}

# 機能を有効化
Enable-WindowsOptionalFeature @param

参考

「SMB 1.0/CIFS ファイル共有のサポート」が無効化されたのは、以下の脆弱性があったためだと思われます。

マイクロソフト セキュリティ情報 MS17-010 - 緊急 | Microsoft Docs

必要が無ければ無効化のままの方が無難かもしれません。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2