POWERSHELL: Report AD and Lync attributes within a single loop

Import-Module ActiveDirectory -ErrorAction SilentlyContinue
$Output = @()

Foreach ($LyncUser in Get-CSUser -OU "OU=myOU,DC=myDomain,DC=com" -ResultSize Unlimited)
 {
 $ADUser = Get-ADUser -Identity $LyncUser.SAMAccountName `
  -Properties Department, Title
 $DN = $ADUser.distinguishedName.substring( `
   $ADUser.distinguishedName.Indexof("OU="))
 $Output += New-Object PSObject -Property @{
  DisplayName=$LyncUser.DisplayName
  SamAccountName=$ADUser.SamAccountName
  Department=$ADUser.Department
  Title=$ADUser.Title
  ConferencingPolicy=$LyncUser.ConferencingPolicy
  ArchivingPolicy=$LyncUser.ArchivingPolicy
  ExternalAccessPolicy=$LyncUser.ExternalAccessPolicy
  MobilityPolicy=$LyncUser.MobilityPolicy
  RegistrarPool=$LyncUser.RegistrarPool
  SIPAddress=$LyncUser.SIPAddress
  Enabled=$LyncUser.Enabled
  EVEnabled=$LyncUser.EnterpriseVoiceEnabled
  OU=(Get-ADOrganizationalUnit -Filter `
    {distinguishedName -eq $DN}).distinguishedName
  }
 }
 
#$Output | Export-CSV `
#  -Path .\Lync_Users_$(((get-date).ToUniversalTime()).ToString("yyyyMMddThhmm")).csv `
#  -Encoding ascii -NoTypeInformation
#$Output | ft -auto
$Output | Out-gridview

No comments:

Post a Comment