【 New-SmbShare 】コマンドレット――Windows OS上で共有フォルダを新規作成する:Windows PowerShell基本Tips(64)
本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「New-SmbShare」コマンドレットを解説します。
本連載では、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コマンドレットの主なオプション
オプション | 意味 |
---|---|
-Name | 共有フォルダの共有名を指定する。必須 |
-Path | 共有フォルダとして設定するローカルフォルダのパスを指定する。必須 |
-Description | 共有フォルダに設定するコメントを指定する。省略可能 |
-FullAccess | 「フルコントロール」の権限を与えるユーザー名/グループ名を指定する。省略可能 |
-ChangeAccess | 「変更」の権限を与えるユーザー名/グループ名を指定する。省略可能 |
-ReadAccess | 「読み取り」の権限を与えるユーザー名/グループ名を指定する。省略可能 |
-NoAccess | 「アクセス拒否」を設定するユーザー名/グループ名を指定する。省略可能 |
共有フォルダを新規作成する
New-SmbShareコマンドレットを必須オプションである「-Name」オプションで共有名を指定し、「-Path」オプションでローカルのフォルダパスを指定して実行すると、それ以外はデフォルトのオプションが設定された共有フォルダを新規作成できます(画面1)。なお、New-SmbShareコマンドレットは、「管理者権限」で実行する必要があります。
コマンドレット実行例
New-SmbShare -Name "ShareFolder" -Path "C:\ShareFolder_01"
この状態の共有フォルダのアクセス権を確認すると、以下のように「Everyone」に対して「読み取り」権限のみが付与されている状態になっています(画面2)。
この状態だと管理者(Administrator)でも共有フォルダに「書き込み」ができない状態であるため、共有フォルダ作成時に「-FullAccess」オプションを用いてフルコントロールの権限を持つユーザー名、もしくはグループ名を設定します(画面3)。ユーザーやグループを複数指定する場合は、カンマ(,)で区切って指定します。
コマンドレット実行例
New-SmbShare -Name "ShareFolder" -Path "C:\ShareFolder_01" -FullAccess "Administrator","Administrators"
GUIで共有フォルダのアクセス権を確認すると、以下の画面4のように、指定された権限が付与されている状態であることを確認できます。
また、アクセス権を指定しないで作成した場合に設定されていた「Everyone」に対する「読み取り」権限が設定されていないことも確認できます。従って、この共有フォルダには、指定したユーザー以外はアクセスできない状態となっています。
ユーザーを指定して複数の権限を設定する
ユーザー、もしくはグループごとに個別に権限を設定して、共有フォルダを作成することも可能です。
以下のコマンド実行例では、「Administrators」グループに「フルコントロール」権限、「IT Group」に「変更」権限を付与しています(画面5)。また、「-Description」オプションでコメントも設定しています。
コマンドレット実行例
New-SmbShare -Name "ShareFolder" -Path "C:\ShareFolder_01" -FullAccess "Administrators" -ChangeAccess "IT Group" -Description "IT部門用共有フォルダ"
GUIから確認すると、コメントおよび設定通りの権限が割り当てられていることが確認できます(画面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.