Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 将CanonicalName用于可分辨名称_Powershell_Export To Csv_Powershell 4.0 - Fatal编程技术网

Powershell 将CanonicalName用于可分辨名称

Powershell 将CanonicalName用于可分辨名称,powershell,export-to-csv,powershell-4.0,Powershell,Export To Csv,Powershell 4.0,我想使用canonicalname而不是可分辨名称,因为csv中的排序更干净。 我知道我必须输入属性值,但问题是在哪里。我不知道它是放在$oulist还是$users变量中。这是我的密码 Import-Module activeDirectory $output = Read-Host "'Y' for output to file or any key for output in GUI table view" -foreground Cyan $fqdn = Read-Host "Enter

我想使用canonicalname而不是可分辨名称,因为csv中的排序更干净。
我知道我必须输入属性值,但问题是在哪里。我不知道它是放在$oulist还是$users变量中。这是我的密码

Import-Module activeDirectory
$output = Read-Host "'Y' for output to file or any key for output in GUI table view" -foreground Cyan
$fqdn = Read-Host "Enter FQDN domain"
$cred = Get-Credential

Write-Host "Contacting $fqdn domain..." -ForegroundColor Yellow

$domain = (get-addomain $fqdn -Credential $cred | select distinguishedName, pdcEmulator, DNSroot, DomainControllersContainer)

Write-Host "Completed. Enumerating OUs.." -ForegroundColor Yellow

$OUlist = @(Get-ADOrganizationalUnit -filter * -Credential $cred -SearchBase $domain.distinguishedName -SearchScope Subtree -Server $domain.DNSroot)
Write-Host "Completed. Counting users..." -ForegroundColor Yellow

$newlist = foreach ($OU in $OUlist)
{
#The array will automatically have a count property, no need for measure
$Users = Get-ADuser -Filter * -Credential $cred -SearchBase $OU.DistinguishedName -SearchScope OneLevel -Server $domain.pdcEmulator
#Again you already have all of the user object before the loop, just            write-progress for the OUlist that you are looping through
write-progress -Activity "Counting users" -Status "Finding users in $OU" -PercentComplete ([array]::indexof($OUlist, $OU)/$OUlist.count * 100)
[pscustomobject]@{
    OU = $OU.DistinguishedName; Count = ($Users.Count)

    }
}
if ($output -eq "Y")
{
    $newlist | Export-CSV .\OUuserCount.csv -NoTypeInformation -Force
    Write-Host "All done!" -ForegroundColor yellow
}
else
{
$newList | Out-GridView
}

我想出来了。我所需要做的就是改变两个值。 我添加了canonicalname的属性值

$OUlist = @(Get-ADOrganizationalUnit -filter * -Credential $cred -properties CanonicalName -SearchBase $domain.distinguishedName -SearchScope Subtree    -Server $domain.DNSroot)
我改变了OU的数组值

[pscustomobject]@{
    OU = $OU.CanonicalName; Count = ($Users.Count)

}