Author Posts

December 8, 2016 at 3:08 pm

hello, if anyone could comment on these issues i'm having it would be much appreciated! I feel like I'm wasting too much time on something pretty simple.. the code below is somewhat of an excerpt to a larger script but it will suffice to address to issues I'm having. The first: why do I continue to get a CSV with the following information:

IsReadOnly IsFixedSize IsSynchronized Keys Values SyncRoot Count
FALSE FALSE FALSE System.Collections.Hashtable+KeyCollection System.Collections.Hashtable+ValueCollection System.Object 6

instead of a table with values?

Second, I cannot make $report = "C:\report_$dt.csv" because the Export-Csv command complains that it does not like the filename. Anyone know why that is? Thanks in advanced. -ca

$dt = Get-Date -UFormat %m%d%y:%H:%M%S
$report = "C:\report.csv"

$OU = "OU=AN,OU=OU,DC=A,DC=domain"

$gADC_OU = Get-ADComputer -Filter * -Properties * -SearchBase $OU -ResultSetSize 20
$gADC_OU_g = $gADC_OU | Select-Object -Property OperatingSystem,Count | `
	Group-Object -Property OperatingSystem -AsHashTable 
$gADC_OU_g | Export-Csv $report -Append -NoClobber -NoTypeInformation

December 8, 2016 at 3:58 pm

Count is not one of the properties returned by Get-ADComputer.

I assume your goal is to count operating system names in use. Try this.

$gADC_OU_g = $gADC_OU | Select-Object -Property OperatingSystem | Group-Object OperatingSystem|Select-Object Name, Count

December 8, 2016 at 4:20 pm

Ron, thank you for spotting that. I did update the code with

$gADC_OU_g = $gADC_OU | Group-Object -Property OperatingSystem | Select-Object -Property Name,Count

and when I do the export to csv it is working as expected!