Jump to content

Powershell reg Datei Import


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo,

 

ich versuche reg Dateien zu importieren und das Ergebnis mit einem try catch abzufangen. Der Import funktioniert, allerdings lande ich immer im catch.

Ich versuche es so:

 

try {
    $files = Get-Childitem -Path "C:\temp\#Template Package\ImportRegFiles\*" -Include "*.reg"
	Foreach($regfile in $files) {			    
        reg import $($regfile.FullName)
        Write-Host "Erfolgreich"
	}
} catch {
    Write-Host "fail"
}

Habe es auch schon statt reg import  mit 

Start-Process -FilePath "regedit.exe" -ArgumentList "/S $($regfile.FullName)" -Wait -PassThru

versucht, leider auch kein Erfolg.

 

Habt ihr eine Idee, wie ich dies am besten abgefangen bekomme ?

Geschrieben
$files = Get-Childitem -Path "C:\temp\#Template Package\ImportRegFiles\*" -Include "*.reg"
	Foreach($regfile in $files) {

	try {		    
        reg import $($regfile.FullName)
        Write-Host "Erfolgreich"
    } catch {
    Write-Host "fail"
    }
}

gleiches Ergebnis. Er import die reg Datei, gibt aber ein fail aus.

Geschrieben

interessant - die Meldung lautet:

PS C:\temp\#Template Package\ImportRegFiles> .\test.ps1
fail System.Management.Automation.RemoteException: Der Vorgang wurde erfolgreich beendet.
fail System.Management.Automation.RemoteException: Der Vorgang wurde erfolgreich beendet.

 

 

Geschrieben

War es nicht so, dass man mit try/catch nur "richtige" Powershell Fehler eingefangen bekommt und keine Fehler von "externen" Programmen? Du könntest beim Start-Process die Standardausgabe und die Fehlerausgabe jeweils in eine Datei umleiten und diese dann auswerten. Oder Du benutzt den Exitcode falls reg.exe oder regedit.exe so etwas zurückliefern.

$Ergebnis = (Start-Process -FilePath "reg.exe" -ArgumentList "IMPORT <reg-Datei>" -NoNewWindow -PassThru -Wait ).ExitCode

 

Geschrieben
vor einer Stunde schrieb BOfH_666:

War es nicht so, dass man mit try/catch nur "richtige" Powershell Fehler eingefangen bekommt und keine Fehler von "externen" Programmen? Du könntest beim Start-Process die Standardausgabe und die Fehlerausgabe jeweils in eine Datei umleiten und diese dann auswerten. Oder Du benutzt den Exitcode falls reg.exe oder regedit.exe so etwas zurückliefern.


$Ergebnis = (Start-Process -FilePath "reg.exe" -ArgumentList "IMPORT <reg-Datei>" -NoNewWindow -PassThru -Wait ).ExitCode

 

ja so scheint es zu sein. Damit funktioniert es.

 

Vielen Dank.

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...