GnarlyDuck
GnarlyDuck

Reputation: 3

How do you add server names to an array?

I’m sorta new to Powershell and am learning a lot from “Powershell for SysAdmins” and came across the below I have questions about.

I see that the following is creating an array but if I wanted to add actual server names into it, do I edit “SRV1, SRV2,etc” or do I add them into $($servers[0]) etc? If later, would it look like $(\\servername[0])?

$servers = @('SRV1','SRV2','SRV3','SRV4','SRV5')
Get-Content -Path "\\$($servers[0])\c$\App_configuration.txt"
Get-Content -Path "\\$($servers[1])\c$\App_configuration.txt"
Get-Content -Path "\\$($servers[2])\c$\App_configuration.txt"
Get-Content -Path "\\$($servers[3])\c$\App_configuration.txt"
Get-Content -Path "\\$($servers[4])\c$\App_configuration.txt"

Upvotes: 0

Views: 691

Answers (1)

Mathias R. Jessen
Mathias R. Jessen

Reputation: 174545

I don't know where you found that example, but the whole point of pushing N server names into a single array is that you don't then have to repeat the same code N times - you can simply loop over the values in the array and repeat whatever operation you need to execute:

# edit this statement and replace the names with your real server names
$server = @('actualServerNameGoesHere01','actualServerNameGoesHere02','actualServerNameGoesHere03')

$server |ForEach-Object {
    # This statement will be executed for each of the names in `$servers`
    Get-Content -Path "\\$_\c$\App_configuration.txt"
}

Upvotes: 2

Related Questions