検索
連載

【 New-SmbShare 】コマンドレット――Windows OS上で共有フォルダを新規作成するWindows PowerShell基本Tips(64)

本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「New-SmbShare」コマンドレットを解説します。

Share
Tweet
LINE
Hatena
「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、Windows OS上で共有フォルダを新規作成する「New-SmbShare」コマンドレットです。

New-SmbShareコマンドレットとは?

 複数のユーザーでファイルを共有して業務を進めることは、もはや当たり前のことになっています。ファイルの共有方法についても、LAN内ではWindows ServerやLinuxサーバ、NAS(Network Attached Storage)といった機器の他、現在はクラウド上のファイル共有サービスもあり、さまざまな方法が存在するようになっています。

 その中でも比較的簡単なファイルの共有方法が、ご自身が普段使用しているWindows OSがインストールされているコンピュータでファイル共有を設定し、ネットワーク共有フォルダとしてユーザーに開放することです。

 「New-SmbShare」は、Windows OS上で共有フォルダを作成するコマンドレットです。設定自体はGUIから可能ですが、多くの共有フォルダを作成する必要がある場合、PowerShellコマンドレットによる作成は設定ミスを防ぐ意味でも非常に効果的です。

New-SmbShareコマンドレットの書式

New-SmbShare [オプション]


New-SmbShareコマンドレットの主なオプション

オプション 意味
-Name 共有フォルダの共有名を指定する。必須
-Path 共有フォルダとして設定するローカルフォルダのパスを指定する。必須
-Description 共有フォルダに設定するコメントを指定する。省略可能
-FullAccess 「フルコントロール」の権限を与えるユーザー名/グループ名を指定する。省略可能
-ChangeAccess 「変更」の権限を与えるユーザー名/グループ名を指定する。省略可能
-ReadAccess 「読み取り」の権限を与えるユーザー名/グループ名を指定する。省略可能
-NoAccess 「アクセス拒否」を設定するユーザー名/グループ名を指定する。省略可能


共有フォルダを新規作成する

 New-SmbShareコマンドレットを必須オプションである「-Name」オプションで共有名を指定し、「-Path」オプションでローカルのフォルダパスを指定して実行すると、それ以外はデフォルトのオプションが設定された共有フォルダを新規作成できます(画面1)。なお、New-SmbShareコマンドレットは、「管理者権限」で実行する必要があります。

コマンドレット実行例

New-SmbShare -Name "ShareFolder" -Path "C:\ShareFolder_01"

ALT
画面1 共有名「ShareFolder」、ローカルパス「C:\ShareFolder_01」の共有フォルダを新規作成した

 この状態の共有フォルダのアクセス権を確認すると、以下のように「Everyone」に対して「読み取り」権限のみが付与されている状態になっています(画面2)。

ALT
画面2 共有アクセス権は「Everyone」に対して「読み取り」権限のみ許可されている

 この状態だと管理者(Administrator)でも共有フォルダに「書き込み」ができない状態であるため、共有フォルダ作成時に「-FullAccess」オプションを用いてフルコントロールの権限を持つユーザー名、もしくはグループ名を設定します(画面3)。ユーザーやグループを複数指定する場合は、カンマ(,)で区切って指定します。

コマンドレット実行例

New-SmbShare -Name "ShareFolder" -Path "C:\ShareFolder_01" -FullAccess "Administrator","Administrators"

ALT
画面3 ユーザーとグループを指定して、権限を付与した共有名「ShareFolder」を作成した

 GUIで共有フォルダのアクセス権を確認すると、以下の画面4のように、指定された権限が付与されている状態であることを確認できます。

ALT
画面4 共有アクセス権は指定したユーザー/グループ対して許可されている状態

 また、アクセス権を指定しないで作成した場合に設定されていた「Everyone」に対する「読み取り」権限が設定されていないことも確認できます。従って、この共有フォルダには、指定したユーザー以外はアクセスできない状態となっています。



ユーザーを指定して複数の権限を設定する

 ユーザー、もしくはグループごとに個別に権限を設定して、共有フォルダを作成することも可能です。

 以下のコマンド実行例では、「Administrators」グループに「フルコントロール」権限、「IT Group」に「変更」権限を付与しています(画面5)。また、「-Description」オプションでコメントも設定しています。

コマンドレット実行例

New-SmbShare -Name "ShareFolder" -Path "C:\ShareFolder_01" -FullAccess "Administrators" -ChangeAccess "IT Group" -Description "IT部門用共有フォルダ"

ALT
画面5 複数のユーザーに対して個別の権限を付与し、コメントを添えて共有名「ShareFolder」を作成した

 GUIから確認すると、コメントおよび設定通りの権限が割り当てられていることが確認できます(画面6)。

ALT
画面6 複数のグループに対して、それぞれに許可した権限が付与されていることを確認できた

 共有フォルダを設定しても、他のコンピュータからアクセスできないことも考えられます。

 その場合は、「Windows Defenderファイアウォール」でファイル共有関連の通信を許可していない可能性があるので、本連載第48回で紹介した「Get-NetFirewallRule」コマンドレットなどを利用してファイアウォールの状況を確認し、本連載第56回で紹介した「Set-NetFirewallRule」コマンドレットで通信を許可してください。

筆者紹介

後藤 諭史(ごとう さとし)

Microsoft MVP for Cloud and Datacenter Management(2012-2023)。現業の傍ら、コミュニティーイベントでの登壇や著作にてMicrosoftテクノロジーに関する技術情報の発信、共有を続けている。ネットワークやハードウェアといった物理層に近いところが大好きな、昔ながらのインフラ屋さん。得意技はケーブル整線。近著は『詳解! Windows Server仮想ネットワーク』(日経BP社)。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る