Outra maneira de manter os dados no mesmo arquivo é criar o hash de duas matrizes ...
$servers={"ietg", "icnt", "igre", "ihvd", "iklr"}
$filenames={"ETG", "cnt", "gre", "hvd", "klr"}
$Targets = @{}
if ($servers.Length -ne $filenames.Length) {
Write-Error -Message "Array lengths do not match" '
-Category InvalidData '
-TargetObject $values
} else {
for ($i = 0; $i -lt $keys.Length; $i++) {
$Targets[$keys[$i]] = $values[$i]
}
}
# the rest is from @sysadmin1138's post...
Foreach ($Targ in $Targets) {
$Child=""\"+$Targ.Server+"\Z$\Backups\daily\"+$Targ.filename
$Server=$Child+"*.bkf"
Remove-Item $Server -Force -Confirm
Get-ChildItem $Child
}
Ou, melhor ainda, se os nomes de arquivos sempre fizerem parte do nome do servidor, você pode construir os dados de um array, assim:
$servers={"ietg", "icnt", "igre", "ihvd", "iklr"}
$Targets = @{}
$servers | %{ $Targets.Add( $_, $_.Substring(1,3) ) }
# continue same as above starting from "Foreach ($Targ..."