none
ファイルサーバーの共有フォルダの一括ユーザー追加スクリプトについて RRS feed

  • 问题

  • WindowsServer2019のファイルサーバーの共有フォルダに一括でとあるユーザーを追加したいです。
     追加したいユーザー:AccessUsers

    GUI上で実施すると300~400フォルダ近くあるものを1つずつ設定するのはかなり大変なので
    PowerShellにて一括にて追加したいところです。

    PSコマンドとして以下を考えてみたのですが

    $accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule(`
    "AccessUsers",`
    [System.Security.AccessControl.FileSystemRights]::FullControl,`
    ([System.Security.AccessControl.InheritanceFlags]::ObjectInherit -bor [System.Security.AccessControl.InheritanceFlags]::ContainerInherit),`
    [System.Security.AccessControl.PropagationFlags]::None,`
    [System.Security.AccessControl.AccessControlType]::Allow)
    
    $acl = Get-Acl D:\Test\Testfolder
    $acl.AddAccessRule($accessRule)
    Set-Acl D:\Test\Testfolder -AclObject $acl

    これを繰り返し以下のテキストからフォルダを読み込んで一括で同じユーザーを追加したいです。
    -------------

    $tgtFolders = @(
    'D:\Test\Testfolder',
    'D:\Test\afekmm',
    'D:\Test\cfolder',
    'D:\Test\dskk',

    -------------

    どのように設定するのが良いでしょうか?

    また上記PSコマンドはフルコントロールにて設定しておりますが高度なアクセス許可として、
    ”アクセス許可の変更”を追加し、フルコントロールにはしないようにしたいです。
     →“ReadAndExcurte” (読み取りと実行権限)

    お手数をおかけしますがご教授のほどよろしくお願いいたします。

    2023年1月23日 7:06

答案

  • チャブーンです。

    この件ですが、「Read and Execute」権限だけを「加えたい」という場合、以下のページのサンプルスクリプトが非常に参考になると思いますよ。

    PowerShellでフォルダのアクセス権限を設定する - Qiita

    ただ、上記で一点注意しないといけないのは「$targetACL.SetAccessRule($accessRule)」とあるので、既存のアクセス許可が置き換わってしまうことです。そうならないようにするには「$targetACL.AddAccessRule($accessRule)」とする必要がありそうです。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 已标记为答案 npmk547 2023年1月27日 15:18
    2023年1月25日 3:13

全部回复

  • Hello friend. Thank you for your question, inquiry. Thank you for your inquiry.

    You can use the following procedure to add a user to a group.
    1. Click the Server Manager icon in the lower-left corner of the Windows desktop.
    2. Select Computer Management from the Tools menu in the upper right.
    3. Include more local users and groups.
    4. Increase the number of groups.
    5. To add a user to a group, double-click the group.
    6. Select Add.
    7. Type the names of the users you want to add to the group, and then select Check Names.
    If you are adding multiple users, separate the names with semicolons.
    8. When finished, click OK again to exit.

    If the reply helped, don't forget to upvote or accept it as an answer. Thank you.
    2023年1月24日 9:05
  • チャブーンです。

    この件ですが、「Read and Execute」権限だけを「加えたい」という場合、以下のページのサンプルスクリプトが非常に参考になると思いますよ。

    PowerShellでフォルダのアクセス権限を設定する - Qiita

    ただ、上記で一点注意しないといけないのは「$targetACL.SetAccessRule($accessRule)」とあるので、既存のアクセス許可が置き換わってしまうことです。そうならないようにするには「$targetACL.AddAccessRule($accessRule)」とする必要がありそうです。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 已标记为答案 npmk547 2023年1月27日 15:18
    2023年1月25日 3:13