Se você está perguntando como você pode definir um nome de variável no powershell e pegá-lo em outro lugar no seu sistema, você pode exportá-lo como uma variável de ambiente do sistema.
Para isso, você precisa usar um método .net chamado Environment.SetEnvironmentVariable
, aqui é a documentação.
É assim que você o usa no powershell para diferentes escopos currentprocess
, currentuser
ou machine
:
[environment]::SetEnvironmentVariable("variable_name","value","process")
[environment]::SetEnvironmentVariable("variable_name","value","machine")
[environment]::SetEnvironmentVariable("variable_name","value","user")
Se você quiser excluir a variável use $null
no lugar do valor.
Para lê-lo de dentro do powershell, você pode usar GetEnvironmentVariable
, por exemplo:
[environment]::GetEnvironmentVariable("variable_name","machine")
ou você pode $env:variable_name
ou, a partir de uma linha de comando normal, você poderia %variable_name%
e assim por diante.
Sem ter testado, acho que você poderia usá-lo em um GPO também, desde que você tenha predefinido a variável na máquina onde ela precisa ser interpretada, talvez por meio de um script acionado pelo GPO processado anteriormente na cadeia?