Reputation: 3
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
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