OUをADにクエリしてファイルに出力し、グループを作成するスクリプトを作成しました新しいグループ名を少し変更したファイル。その部分は次のコードで動作します:Powershellスクリプトを使用してOUの一覧から新しいグループを作成し、OUのユーザーオブジェクトをグループに追加します
## Load Quest ActiveRoles ADManagement PSSnapin if not already loaded
if ((Get-PSSnapin -Name "Quest.ActiveRoles.ADManagement" -ErrorAction SilentlyContinue) -eq $null) {
Add-PsSnapin "Quest.ActiveRoles.ADManagement" }
cd \
cls
$Type = "Security"
$Scope = "Global"
$Domain = "abc.org"
## Get Organizational Units
Get-QADObject -Type OrganizationalUnit `
| Select-Object Name, Path, DN, CanonicalName ` | Export-Csv -Path "c:\scripts\test\ou.csv" -NoTypeInformation
## Create Security Groups from Organizational Units
$Pre = "123abc"
$ou = "ou=123abc,ou=Groups,ou=User Accounts,dc=abc,dc=org"
Import-Csv -Path "c:\scripts\test\ou.csv" | foreach {New-QADGroup -name ($Pre+$_.name) -parent $ou -sam ($Pre+$_.name)}
私が問題を抱えている問題はこれです。各OUのユーザーオブジェクトを取得して別々のcsvファイルに配置するにはどうすればよいですか。私は単一のOUのために働くこの少しのコードを持っています。
$OuDomain = "OU=123abc,OU=Users,OU=User Accounts,DC=abc,DC=org"
Get-QADUser -SizeLimit 0 -searchRoot $OuDomain `
| Select-Object name, SamAccountName, UserPrincipalName `
| Export-Csv -Path "c:\scripts\test\123abc.csv" -NoTypeInformation
その後、私は新しいグループにユーザーを追加できるはずです。