#Alan dot Kaplan at va dot gov #alan at akaplan dot com #www.akaplan.com/blog #October 2014 #Requires -module ActiveDirectory Function Get-ADComputerList { Param ( # Param1 help description [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true, Position=0)] $SearchDom ) Begin { cls Import-Module ActiveDirectory write-host $SearchDom } Process { $script:PCList = Get-adcomputer -filter {(enabled -eq $True)} -Properties name, DistinguishedName, operatingsystem, IPv4Address -Server $SearchDom -resultPageSize 500 -ErrorAction Inquire $data=$script:PCList | select @{Name="SystemName";Expression={$_.Name}}, @{Name="DNSName";Expression={$_.Name+"."+$SearchDom}}, @{Name="IPAddress";Expression={$_.IPV4Address}}, @{Name="ADSPath";Expression={($_.DistinguishedName).Replace("CN="+$_.Name+",","")}}, @{Name="OS";Expression={$_.OperatingSystem}} } End { $LogFile = "$env:USERPROFILE\desktop\"+$SearchDom.Replace(".","-")+'_AD_Computer_List.csv' $data| Export-Csv -path $LogFile -NoTypeInformation Write "Done. Log is $Logfile" } } #Example code $fqdnDom = Read-Host -Prompt "Enter FQDN Domain Name, ex: $env:USERDNSDOMAIN " Get-ADComputerList -searchDom $fqdnDom