2008-11-23 17 views
16

Ich weiß, ich kann auf Umgebungsvariablen in Powershell mit $ Env zugreifen. Zum Beispiel kann ich FOO mit $ Env Zugang: FOOUmgebungsvariablen in Powershell mit einem Punkt (.) Im Namen

Was kann ich nicht herausfinden, wie die Umgebungsvariable für den Zugriff auf FOO.BAR genannt

$ Env: FOO.BAR funktioniert nicht. Wie kann ich von Powershell aus darauf zugreifen?

Antwort

30

Um jede Art von Powershell-Variable zugreifen, in denen der Name nicht-alphanumerische Zeichen enthält, den $ verwenden {...} Notation wie in:

PS (STA-ISS) (1)> $ {env: variable.with. Punkte} = "H ich dort“

PS (STA-ISS) (2)> $ {env: variable.with.dots}

Hallo zusammen

Diese für Variablen in einem beliebigen Laufwerk arbeitet (Registrierung, Dateisystem, etc. .)

+0

Danke! Ich dachte, es wäre etwas Einfaches! –

5

die Antwort auf meine eigene Frage gefunden:

Verwenden Sie die .NET-Methode die Variable zu erhalten:

[Environment]::GetEnvironmentVariable("FOO.BAR") 
+0

Das funktioniert nur, wenn es in 'env:' ist. –

2

Get-WMIObject Win32_Environment -filter "name = 'foo.bar'"

Verwandte Themen