Pfadproblem mit Variable und UNC Pfad in Powershell
Hallo zusammen 
Ich habe ein kurzes Anliegen.
Warum funktioniert folgendes Script problemlos in der Powershell ISE aber nicht als eigenständiges ps1 Script unter der normalen Powershell ausgeführt.
In der ISE wird ganz ordnungsgemäß eine Datei erstellt die "hostname.txt" heisst.
Führe ich das Script über die Powershell aus, erscheint nur eine Datei ".txt"
Freue mich über Feedback:
$hn = $system.Name
$datei = "\\192.168.0.1\d\$hn.txt"
Add-Content -Path $datei -Value "Hostname: $hostname "
Ich habe ein kurzes Anliegen.
Warum funktioniert folgendes Script problemlos in der Powershell ISE aber nicht als eigenständiges ps1 Script unter der normalen Powershell ausgeführt.
In der ISE wird ganz ordnungsgemäß eine Datei erstellt die "hostname.txt" heisst.
Führe ich das Script über die Powershell aus, erscheint nur eine Datei ".txt"
Freue mich über Feedback:
$hn = $system.Name
$datei = "\\192.168.0.1\d\$hn.txt"
Add-Content -Path $datei -Value "Hostname: $hostname "
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1865072494
Url: https://administrator.de/forum/pfadproblem-mit-variable-und-unc-pfad-in-powershell-1865072494.html
Ausgedruckt am: 24.03.2025 um 14:03 Uhr
3 Kommentare
Neuester Kommentar
Servus @devnick, willkommen auf Administrator.de!
Wenn das tatsächlich dein ganzes Skript ist dann sehe ich hier mehrere Fehler.
Wenn du nur den Computernamen brauchst den bekommst du immer egal wo mit der Umgebungsvariablen $env:COMPUTERNAME so das du dein Skript folgendermaßen abänderst
Grüße Uwe
$hn = $system.Name
$datei = "\\192.168.0.1\d\$hn.txt"
Add-Content -Path $datei -Value "Hostname: $hostname "
$datei = "\\192.168.0.1\d\$hn.txt"
Add-Content -Path $datei -Value "Hostname: $hostname "
Wenn das tatsächlich dein ganzes Skript ist dann sehe ich hier mehrere Fehler.
- Erstens gibt es in deinem Skript keine Variable/Objekt mit dem Namen $system, so dass die Variable leer sein wird wenn es sie nicht gibt.
- Zweitens hier zwar unrelevant aber trotzdem fehlerhaft, in der letzten Zeile verwendest du statt $hn die nicht existente Variable $hostname für den Inhalt
- Drittens, tippe ich darauf das du in der ISE entweder nur temporär die Variable/Object $system angelegt hast und es nur deswegen in der ISE funktioniert weil eben nur dort die gecachte Variable vorhanden ist. Eine andere Möglichkeit ist das die Variable $system durch dein ISE PowerShell Profil (Pfad dazu zeigt die Eingabe von
$profile
) definiert wird aber eben nicht in deinem regulären Profil.
Wenn du nur den Computernamen brauchst den bekommst du immer egal wo mit der Umgebungsvariablen $env:COMPUTERNAME so das du dein Skript folgendermaßen abänderst
$datei = "\\192.168.0.1\d\$env:COMPUTERNAME.txt"
Add-Content -LiteralPath $datei -Value "Hostname: $env:COMPUTERNAME"