外部ドライブを共有し、すべてのユーザーにフル コントロールを割り当てるために、Vista Ultimate で実行するスクリプトが必要です。を使用して共有を作成するためのバッチ ファイルnet share
がありますが、アクセス許可を変更する方法がないようです。これは PowerShell で可能に違いないと思いますが、どこから始めればよいかわかりません。
4 に答える
この質問に対する答えを探していて、私がそうであったように (Vista ではなく) Windows 7 を実行している場合は、アクセス許可を NET SHARE コマンドで直接設定できることに興味があるかもしれません。 .
例えば、
NET SHARE Movies=M:\Movies /GRANT:Everyone`,READ
共有を作成し、Everyone に読み取り専用のアクセス許可を付与します。
READ の代わりに、CHANGE または FULL も使用できます。
WMF 4 以降:
New-SmbShare –Name ShareName –Path C:\LocalFolder –FullAccess Username
2つの答え。
PowerShell では、Get-ACL コマンドレットが既存のアクセス許可を取得します。次に、.NET コマンドを使用してそれらを変更し、Set-ACL を実行してそれをフォルダーに適用します。これら 2 つのコマンドレットのヘルプには例が含まれており、www.sapienpress.com から「Windows PowerShell: TFM」の書籍の例をダウンロードできます。 " = 本には明示的な例も含まれています。
ただし、時間の価値はありません。実際には、ファイル ACL は対処するのが非常に面倒であり、信じられないほど複雑です。マイクロソフトは、Cacls など、これを行うための優れたツールを既に作成しており、それらを使用するだけではるかに簡単になります。
FILE パーミッションはこれですべてです。SHARE 自体のパーミッションを変更することにも興味があるかもしれません。そのためのツールが SUBINACL で、Microsoft からダウンロードできます。http://cwashington.netreach.net/depo/view.asp?Index=1127&ScriptType=vbscriptも参照してください。
Carbon PowerShell モジュールには、 Install-SmbShareとGrant-Permissionという2 つの関数があり、これを実行します 。ダウンロードして試してみます。
Install-SmbShare -Name MyShare -Path X:\ -FullAccess 'Everybody' `
-Description 'My super-awesome file share!'
Grant-Permission -Identity Everyone -Permission FullControl -Path X:\
免責事項: 私は Carbon の著者であり作成者です。このモジュールを使用することをお勧めします。これは、共有をインストールしてアクセス許可を付与する際に注意すべき注意事項や落とし穴がたくさんあるためです。これらの 2 つの関数がそれを処理します。