0

我是 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 的新手。:)

这甚至可能吗?谢谢!

4

3 回答 3

2

看起来像你需要的 PowerShell - 编辑文件或文件夹的权限

尝试阅读get-help Get-Acl -fullSet-Acl命令行

于 2013-03-07T20:23:49.290 回答
0

您“不需要”检查 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"}
于 2013-03-08T01:06:46.100 回答
0

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
于 2013-03-08T08:55:48.780 回答