Ich habe eine Reihe von JSON-Dateien erstellt, auf die von verschiedenen Modulen und Skripten verwiesen wird. In JSON verweise ich auf Variablen, die bereits in der PowerShell-Instanz (und dem Bereich) vorhanden sind, in dem sich das Skript/Modul befindet. Das Problem besteht darin, dass die in ConvertFrom-Json
referenzierten Variablen scheinbar ein Literal importieren, also die Variablen aren nicht erweitern, sobald sie in der Sitzung sind.Erweitern von Variablen in ConvertFrom-Json-Antworten
Wenn Sie unten einen Blick auf test.ps1
werfen, werden Sie sehen, was ich versucht habe, und was mein Ziel ist (hoffe ich). Wenn nicht, bitte ich um eine Erklärung. Manchmal bin ich nicht der Beste, um zu vermitteln, wonach ich suche!
test.ps1
:
# The following Invoke-WebRequest just pulls in the JSON in this Gist
$JSON = Invoke-WebRequest -Uri 'https://gist.githubusercontent.com/mpearon/a8614d73793c582760a6e2b9668d4f62/raw/2000ded35b6c8f9dd790f36a3169810acd5e3bdf/test.json' |
ConvertFrom-Json
$ConnectionParams = @{
ComputerName = $JSON.Server.connectionParameters.ComputerName
ErrorAction = $JSON.Server.connectionParameters.ErrorAction
Credential = $JSON.Server.connectionParameters.Credential
}
Enter-PSSession @ConnectionParams
test.json
:
{
"Server" : {
"connectionType" : "PSSession",
"connectionSubType" : "ServerType",
"securityLevel" : "Level1",
"connectionParameters" : {
"ComputerName" : "ServerNameHere",
"ErrorAction" : "Stop",
"Credential" : "$Creds"
}
}
}
Bitte stellen Sie keine relevanten Teile Ihrer Frage auf externen Seiten, und insbesondere nicht auf Gist. Ihre Frage wird nutzlos, sobald der Kern verschwindet. –