Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Start-Process deinstalliert nicht als BackGroundJob (PowerShell)

Mitglied: mayho33

mayho33 (Level 2) - Jetzt verbinden

28.03.2014, aktualisiert 31.03.2014, 2969 Aufrufe, 2 Kommentare

Hallo @ All

Wieder einmal komme ich in Powershell nicht weiter und hoffe (wieder einmal) auf eure Hilfe!!

In diesem Thread habe ich diese Frage schon gestellt und beantwortet geglaubt, stieß jetzt aber wieder auf ein neues Problem: https://www.administrator.de/link/start-process-gibt-tlw-keinen-returnco ...

Das aktuelle Problem:

Es geht darum eine Software silent zu deinstallieren und für die Dauer des Uninstalls in der PS-Console als Pseudo-Progressbar eine paar Sternchen auszugeben. Dazu Prüfe ich erst mal ob die Software am Client vorhanden ist und bereite den UninstallString aus der Registry entsprechend auf für Start-Process.

Ich übergebe die fertig angepassten Argumente an die Function unten. Die Argumente werden mit Write-Host in der Consloe so ausgegeben:

$FilePath: MSIEXEC.EXE
$ArgumentList: /X {C22FF2F7-BA18-4C1B-A86E-82424058293B} REBOOT=REALLYSUPPRESS MSIRESTARTMANAGERCONTROL=DISABLE /qn /l*v+ "C:\Logs\TESTsoftware 2014-03-31 11.02.36 _UNIN_.Log"

Starte ich das mit folgender Syntax so in der Console funktioniert der Uninstall:
Start-Process -FilePath "MSIEXEC.EXE" -ArgumentList '/X {C22FF2F7-BA18-4C1B-A86E-82424058293B} REBOOT=REALLYSUPPRESS MSIRESTARTMANAGERCONTROL=DISABLE /qn /l*v+ "C:\Logs\TESTsoftware 2014-03-31 11.02.36 _UNIN_.Log"' -wait

übergebe ich das an die Function und lasse es ausführen, bekomme ich entweder einen Fehler...

Start-Process : Es wurde kein Positionsparameter gefunden, der das Argument "C:\Logs\TESTsoftware" akzeptiert.
In Zeile:1 Zeichen:1

Start-Process -FilePath "MSIEXEC.EXE" -ArgumentList "/X {C22FF2F7-BA18-4C1B-A86E ...

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : InvalidArgument: ( [Start-Process], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand


... oder es passiert Garnichts. Es laufen die Sternchen, kein RC und die Software ist nicht deinstalliert.

Lasse ich das Logging weg ( /l*v+ "C:\Logs\TESTsoftware 2014-03-31 11.02.36 _UNIN_.Log" ) funktionierts auch.

Der Fehler liegt also in der Syntax beim übergeben des Argument-Strings. Bekomme es aber irgendwie nicht gebacken den String so zu übergeben, dass das Logging drinnen ist. Gibt es da eventuell einen Kniff?

Function Uninstall {
[CmdletBinding()]
param ($FilePath, $Arguments)

$ReturnCode = @{}

$BackGroundWorker = [Powershell]::Create().AddScript({
param($result)
$rc = Start-Process -FilePath $FilePath -ArgumentList $Arguments -PassThru -Wait
$result.ExitCode = $rc.ExitCode
}).AddArgument($ReturnCode)

$BackGroundWorker.BeginInvoke()| Out-null

while($BackGroundWorker.InvocationStateInfo.State -eq "Running"){
write-host "*" -NoNewLine
sleep(2)
}
return $ReturnCode
}

Vielen Dank für die Unterstützung!

Mayho
Mitglied: colinardo
31.03.2014, aktualisiert um 11:45 Uhr
ähm das doppelte Dollarzeichen ist da nicht gut platziert:
$$rc = Start-Process ......
Grüße Uwe

p.s. und nutze in Zukunft Code-Tags für deinen Code ...merci.
Bitte warten ..
Mitglied: mayho33
31.03.2014, aktualisiert um 12:27 Uhr
Hi!

Ist nur ein Schreibfehler hier im Post...

Jop! Codetags wären wohl ne Verbesserung. Hole das nach.


GROSSES EDIT:
Der Fehler war meine Lesefaulheit. MS machts einem aber auch nicht einfach. :P

Die Lösung: Argumentlist kann eine durch Komma getrennte ArgumentListe sein ( -ArgumentList Syntax: $arg1,$arg2,arg3,... )

Nach einer Anpassung ($Arguments kommt nun als Object daher in dem alle Argumente gesondert gespeichert sind) funktionierts perfekt.

$rc = Start-process -Filepath "$arg1 -Argumentlist ($arg2,$arg3,$arg4,$arg5) -wait

Danke!

lg
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell start-process
gelöst Frage von Cougar77Batch & Shell4 Kommentare

Guten Morgen, ich habe da ein kleines Problem, das ich nicht ganz verstehe. Es geht um ein kleines Powershell-Skript, ...

Batch & Shell
Powershell Start-Process mit Argumenten
gelöst Frage von lisaluftBatch & Shell4 Kommentare

Ich hatte ein cmd-Skript mit den Befehl: start /wait c:\test\CitrixReceiver.exe /silent /includeSSON ENABLE_SSON="Yes" Funktionierte genau so. Jetzt habe ich ...

Batch & Shell

Powershell aus Powershell starten (start-process powershell) mit Leerzeichen im Pfad

gelöst Frage von adm2015Batch & Shell1 Kommentar

Ich möchte einfach ein Powershell Script aus einem anderen Powershell Script aufrufen. (start-process powershell "c:\test.ps1") Jedoch habe ich ein ...

Batch & Shell

Powershell start-process als aktueller Benuter mit adminrechten

gelöst Frage von MarabuntaBatch & Shell9 Kommentare

ich habe einen task der ein programm starten soll für den aktuell angemeldeten nutzer (i.d.R. Adminrechte verfügbar) Der Task ...

Neue Wissensbeiträge
Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 4 StundenSicherheit

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 14 StundenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 1 TagErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 1 TagWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server36 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1028 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgbornMicrosoft17 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Webbrowser
Welcher Browser ist der Beste?
Frage von justtinWebbrowser15 Kommentare

Hallo Leute Ich habe eine interessante Frage. Mich wurde mal interessieren welcher Browser ist eure meinung nach der beste? ...