我是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的新手。 :)
这甚至可能吗? 谢谢!
答案 0 :(得分:2)
看起来像你需要的PowerShell - Editing permissions on a file or folder
尝试阅读get-help Get-Acl -full
和Set-Acl
命令行开关
答案 1 :(得分: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"}
答案 2 :(得分: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