【问题标题】:Using Powershell to permissions a user folder based on operator input使用 Powershell 根据操作员输入来授予用户文件夹权限
【发布时间】:2013-03-08 16:55:48
【问题描述】:

我是 Powershell 新手,需要一些指导。 我需要创建一个脚本,使操作员能够根据操作员的(字符串)输入创建远程用户文件夹。然后,脚本将获取该输入,创建文件夹,命名它,然后根据输入对其进行许可。 到目前为止,我的“创建”部分正在使用它:

'Variables

$directory = Read-Host "Enter Path"

$username = Read-Host "Enter Username"

'Create and name directory

new-item -Path $directory -name $username -ItemType directory

使用上面的脚本,操作员被询问文件夹应该在哪里创建,文件夹名称应该是什么。在我们的例子中,文件夹名称与用户名(AD 帐户名)相同。正如我所说,这是有效的。该文件夹已创建,并且正在继承权限。 我现在需要找到一种方法来根据操作员输入的用户名称(AD 帐户)来授予该文件夹的权限,并赋予该用户对父/子文件夹的完全控制权,同时保持继承。

我假设脚本需要根据 AD 检查 NAME,以便它可以确保 NAME 是有效的 AD 帐户..?正如我所说,我是 Powershell 的新手。 :)

这甚至可能吗? 谢谢!

【问题讨论】:

    标签: string powershell input acl file-permissions


    【解决方案1】:

    看起来像你需要的PowerShell - Editing permissions on a file or folder

    尝试阅读 get-help Get-Acl -full 和 Set-Acl 命令行开关

    【讨论】:

      【解决方案2】:

      您“不需要”检查 AD,但这是个好主意。

      我个人更喜欢 QAD cmdlet。您可以在下载 PowerGUI 时获得它们,尽管 Powergui 不是必需的。

      对于设置用户,你可以简单地做:

      $User = Read-Host -input "enter user to grant access"
      if(get-qaduser $user) {set-Acl $Path $ACLs}
      else{write-host "Cannot find user"}
      

      【讨论】:

        【解决方案3】:

        PowerShell ACL 有点过于复杂。我建议使用 icacls 命令来设置 acl:

        PS C:\> icacls /?
        

        至于检查用户与 AD,您需要查询 AD。这种方式很乱但是你不需要安装任何东西“http://technet.microsoft.com/en-us/library/ff730967.aspx”

        这种方法很简单,但您需要安装远程管理工具 PowerShell AD 模块。

        (Get-ADuser -Filter {Name -eq $username}).count -ne 0
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-06-18
          • 2020-07-30
          • 2011-09-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-14
          相关资源
          最近更新 更多