使用 Quest Active Roles cmdlet 创建主文件夹

使用 Quest Active Roles cmdlet 创建主文件夹

我创建了以下脚本来从 csv 获取数据并在 AD 中创建新用户:

Import-Csv c:\newusers.csv | ForEach-Object -Process {New-QADUser -name $_.'un' -ParentContainer 'CN=users,DC=domain,DC=local' -SamAccountName $_.'un' -FirstName $_.'fn' -LastName $_.'ln' -description '6' -userprincipalname $_.'un'  -UserPassword 'P@ssword' | Enable-QADUser | Set-QADUser -HomeDirectory '\\srv1\home\$_.un' -HomeDrive 'H:' -UserMustChangePassword $true | new-item c:\home\$_.un -type directory}

除了主文件夹的新项目创建之外,一切似乎都正常。-homedirectory-homedrive命令有效,它们在用户配置文件中被正确命名和映射,但当我尝试在驱动器上创建实际文件夹时,它会创建一个名为的文件夹$_.un,然后抛出对象已存在的错误。

我尝试过c:\home\$_.unc:\home\$_.'un'c:\home\'$_.un结果都差不多。有人能解释一下我的语法哪里错了吗?

答案1

您可以通过添加$un如下变量来解决此问题:

Import-Csv c:\newusers.csv | ForEach-Object -Process {**$un=$_.un**; New-QADUser -name $.'un' -ParentContainer 'CN=users,DC=domain,DC=local' -SamAccountName $.'un' -FirstName $.'fn' -LastName $.'ln' -description '6' -userprincipalname $.'un'  -UserPassword 'P@ssword' | Enable-QADUser | Set-QADUser -HomeDirectory '\srv1\home\$.un' -HomeDrive 'H:' -UserMustChangePassword $true | new-item **c:\home\$un** -type directory}

相关内容