A questão é que você não está pontuando o script, você está apenas passando o caminho do script (por seu comentário no post original)
O que você está fazendo: .\script.ps1
(apenas indicando um caminho, nada chamando o script para executá-lo)
O que você deve fazer: . .\script.ps1
(fornecimento de ponto para carregar o conteúdo do script na sessão).
Aqui está eu replicando seu problema:
Aquiestáfuncionando:
- Primeiralinhasoueulimpandoavariáveldasessão
- Segundalinhaéaconfirmaçãodequeavariávelestáreplicandoseuproblema(esperado,jáqueavariávelnãoexistenaquelemomento)
- Aterceiralinhaéopontodeorigemdoscriptquecontémoblocoabaixo(igualàsuacapturadetela)parareplicarcomovocêestáseaproximandodele
- ExecutandoexatamenteamesmapesquisahashtablequeresultanamesmasaídaquevocêestárecebendodoISE
BlocodescriptemtestHash.ps1
:
$hash_agencyOffices=@{Agency1=@{Agency1=@("Aberdeen"
"Sacramento"
"Dallas"
"Long Beach"
"Tampa"
"Seattle"
"Vancouver"
)
}
Agency2 = @{
SubAgency1 = @(
"Aberdeen"
"Sacramento"
"Dallas"
"Long Beach"
"Tampa"
"South Bend"
"Stevenson"
"Tumwater"
"Vancouver"
)
SubAgency2 = @(
"Dallas"
"Seattle"
"Vancouver"
)
}
}