Risorse per professionisti IT >
Home page del forum
>
Windows PowerShell
>
共有フォルダの共有名の変更及びフォルダ権限設定方法
共有フォルダの共有名の変更及びフォルダ権限設定方法
- お世話になります。
2003 Server上にある既存の共有フォルダの共有名を変更したいのですが?
また、その共有フォルダにEveryoneのFullコントロール権限を付けたいのですが、どのようにすれば良いでしょうか?
宜しくお願い致します。
Risposte
- アクセス権関係については、
あるSEのつぶやき: Windows PowerShell で共有フォルダ作成とアクセス権設定を行う
http://fnya.cocolog-nifty.com/blog/2009/03/windows-power-6.html
が参考になります。
http://techbank.jp/nora/(SQL Serverを中心に情報発信中)- Contrassegnato come rispostapuu lunedì 20 aprile 2009 18.48
- net share コマンドを利用するとできそうですね。
net share コマンドの使用方法は
「Net Share」 コマンド: ITPro が参考になるかと思います。
あとは、野良さんが回答してくれているリンク先が参考になりますね。
追記です
net shareコマンドでは、/grant オプションによる権限の設定が可能です。
Windows Server 2003は利用可能となっています。
net shareコマンドで共有フォルダを作成する も参考になるかと思います。- ModificatoHIROsDotNetMVPlunedì 13 aprile 2009 23.26リンク先修正&追記
- Contrassegnato come rispostapuu lunedì 20 aprile 2009 18.48
- PowerShell で net Share コマンドを使用するには下記のようにします。
PS> cmd /c 'net share ShareFolder=F:\Share /remark:"共有フォルダ" /grant:everyone,full'
自分の環境では上手く行きましたので、試してみてください。- Contrassegnato come rispostapuu lunedì 20 aprile 2009 18.48
- WmiObjetを使用する場合ですが、この場合はCreateメソッドを使用するようです。
http://msdn.microsoft.com/en-us/library/aa389393(VS.85).aspx
http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/jan05/hey0107.mspx
をご参考ください。
ちなみにCreateメソッドは
$WmiObject.Create(
共有フォルダのローカルパス,
共有フォルダの共有名,
作成する共有の種類,
最大同時接続ユーザー数,
共有フォルダの説明
)
のようにして作成するようです。
ただし、このメソッドでは 「どのユーザー」に「どのような権限をつけるか」は指定できないようです。
自分の環境で試したところ(Windows Server 2003)、Everyoneにフル権限がつきました。- Contrassegnato come rispostapuu lunedì 20 aprile 2009 18.47
Tutte le risposte
- アクセス権関係については、
あるSEのつぶやき: Windows PowerShell で共有フォルダ作成とアクセス権設定を行う
http://fnya.cocolog-nifty.com/blog/2009/03/windows-power-6.html
が参考になります。
http://techbank.jp/nora/(SQL Serverを中心に情報発信中)- Contrassegnato come rispostapuu lunedì 20 aprile 2009 18.48
- net share コマンドを利用するとできそうですね。
net share コマンドの使用方法は
「Net Share」 コマンド: ITPro が参考になるかと思います。
あとは、野良さんが回答してくれているリンク先が参考になりますね。
追記です
net shareコマンドでは、/grant オプションによる権限の設定が可能です。
Windows Server 2003は利用可能となっています。
net shareコマンドで共有フォルダを作成する も参考になるかと思います。- ModificatoHIROsDotNetMVPlunedì 13 aprile 2009 23.26リンク先修正&追記
- Contrassegnato come rispostapuu lunedì 20 aprile 2009 18.48
- 野良さん、HIROsDotNetさん
早々のコメント有難う御座います。
お二人から紹介頂いたURLを参照しテストした結果を報告します。
(Windows Server2003 R2 EE 環境でのテスト結果です。)
(1) PowerShell画面でのテスト
① net share ShareFolder=F:\Share /remark:"共有フォルダ"
共有名:共有フォルダ、アクセス許可:Everyoneで共有されるが、「読み取り」権限となる。
FULLコントロールにしたい為、Grantオプションを指定(②)
② net share ShareFolder=F:\Share /remark:"共有フォルダ" /grant:everyone,full
「このコマンドの構文は次のとおりです: …」のメッセージが表示され、共有されない。
この為、DOSプロンプトで同様のテストを実施。
(2) DOSプロンプトでのテスト
① net share ShareFolder=F:\Share /remark:"共有フォルダ"
(1) ① の結果と同様。
アクセス許可:Everyoneで共有されるが、「読み取り」権限となる。
② net share ShareFolder=F:\Share /remark:"共有フォルダ" /grant:everyone,full
共有名:共有フォルダ、アクセス許可:Everyoneの「FULL」権限となる。
上記、②のDOSプロンプトでは希望していた結果が得られましたが、PowerShell画面ではスクリプトエラー(?)となります。
PowerShellで実行したいと考えているので、この辺りをご存知の方、コメント頂けないでしょうか?
又、共有名の変更はWmiObjectでも可能だと思い、以下を試してみました。
$wmiObject = Get-WmiObject Win32_Share -ComputerName "コンピュータ名"
foreach ($wmi in $wmiObject) {
Write-Host "共有名:" $wmi.Name
Write-Host "パス :" $wmi.Path
}
上記を実行すると共有名とフォルダパスが得られるので、該当の共有フォルダを確認(例えば、6個目)後、
$wmiObject[6].Name = "共有フォルダ" でローカルオブジェクトの共有名を変更後、
$result = $wmiObject[6].put() を実行すると、以下のエラーが表示されます。
----------------------------------------------
"0" 個の引数を指定して "Put" を呼び出し中に例外が発生しました: ""0" 個の引数を指定して "Put" を呼び
出し中に例外が発生しました: "実行しようとした操作はプロバイダによってサポートされていません ""
----------------------------------------------
Win32_Shareの使い方の誤りだと思いますが、どのように修正すれば良いでしょうか?
ダラダラと長いコメントになってしまいましたが、宜しくお願い致します。 - PowerShell で net Share コマンドを使用するには下記のようにします。
PS> cmd /c 'net share ShareFolder=F:\Share /remark:"共有フォルダ" /grant:everyone,full'
自分の環境では上手く行きましたので、試してみてください。- Contrassegnato come rispostapuu lunedì 20 aprile 2009 18.48
- WmiObjetを使用する場合ですが、この場合はCreateメソッドを使用するようです。
http://msdn.microsoft.com/en-us/library/aa389393(VS.85).aspx
http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/jan05/hey0107.mspx
をご参考ください。
ちなみにCreateメソッドは
$WmiObject.Create(
共有フォルダのローカルパス,
共有フォルダの共有名,
作成する共有の種類,
最大同時接続ユーザー数,
共有フォルダの説明
)
のようにして作成するようです。
ただし、このメソッドでは 「どのユーザー」に「どのような権限をつけるか」は指定できないようです。
自分の環境で試したところ(Windows Server 2003)、Everyoneにフル権限がつきました。- Contrassegnato come rispostapuu lunedì 20 aprile 2009 18.47
- HIROsDotNetさん、こんにちは。
「net Share コマンドの使用方法」及び「WmiObjetでのCreateメソッドの使用方法」の両回答をテストし、確認出来ました。
WmiObjetでのCreateメソッドでユーザ数制限を無制限にするには、最大同時接続ユーザー数に$Nullを指定すれば良い事も確認出来ました。
ユーザ単位のアクセス権限を付加出来ないのは残念ですが、今の所、何とかなりそうです。
有難う御座いました。