I have the following code that is used to populated a $ServerList (starting a $ServerList[1]), but I'd also like to be able to read a file of servernames... and append those names to the end of the ServerList string type.
The issue is, that $ServerList is a pre-dementioned array. That reason for this is because I get the error:
"Cannot index into a null array."
If attempt to run the code below:
# Grab list of servers use QAD then select the name object, and then short the results by the name
$a = (Get-QADComputer -OSName 'Windows*Server*' | Select-Object name | Sort-Object name )
$b = ($a | ForEach-Object {$_.name})
# Create the list of servers array, but start the elements from 1, not zero.
$ServerList = New-Object string[] ($b.Count+2)
for ($j=0; $j -le $b.count; $j++) { $ServerList[$j+1]=$b[$j]}
As yiu can see, there is a whole lot of swapping going on here... primarily because the output of $a gives me headers, and the populating of $b starts at zero (e.g. $b[0]). Which causes issues with friggen Excel, so we then dump the contents of $b into $ServerList.
So then I take a CSV file, and I want to add it to the $ServerList array, but I get an ERROR... because the array is not dimmensioned to fit to additional strings:
# Load CSV list of additional servers NOT on the Domain and add them to the list of servers
$a = Import-Csv y:\AddititionalServerList.csv
$b = ($a | ForEach-Object {$_.name})
What I'd like to do, is simply append these to the end of the $ServerList array:
$ServerList = $ServerList+$b
But that doesn't work...
Can anyone work this out for me?
GB
I figure a few hundred more learning experiences like this and I'll actually know what I'm doing.
That's exactly the information I needed to fix this.
Thank YOU!