Mit Powershell strings in Variable oder Array zerlegen

Mitglied: Blacksaber

Blacksaber (Level 1) - Jetzt verbinden

13.01.2021 um 14:57 Uhr, 345 Aufrufe, 8 Kommentare, 4 Danke

Hallo zusammen,

ich versuche mich gerade an der Powershell und hänge an einem, wahrscheinlich, trivialem Problem.

Zielsetzung:
Ich benötige ProzessID(s) von einem Terminalserver die einer bestimmten .exe im Dateisystem zugeordnet sind damit ich diese beenden kann und anschließend einen Updateprozess anstossen kann.
Die Prozesse habe ich in einer Liste mittlerweile hinbekommen. Hier werden auch die Pfade zur .exe angezeigt.
Was ich jetzt nicht hinbekomme ist die ProzessID zu extrahieren damit ich den Prozess abschießen kann.

Ich habe folgendes bisher getan:
Ich erhalte folgendes Ergebnis:

Jetzt ist wichtig das ich die richtige Stage beende, also TuI oder Prelive oder Live.
Das habe ich soweit auch hinbekommen mit

Jetzt habe ich in der $ProcessList folgendes stehen:

Wie bekomme ich jetzt die ProzessID in eine Form dass ich damit weiterarbeiten kann? Einfach ausschneiden geht nicht, da die ID von 3 bis 5 stellig sein kann bzw. ich bekomme das einfach nicht hin. Vielleicht mache ich ja auch schon beim Anfang einen Fehler und das ganze geht noch viel einfacher?

Vielen Dank schon im voraus, ich stehe gerade auf dem Schlauch.

Gruß
Klaus aus I
Mitglied: SlainteMhath
13.01.2021 um 15:08 Uhr
Moin,

in etwa so:

lg,
Slainte
Bitte warten ..
Mitglied: manuel-r
13.01.2021 um 15:31 Uhr
Wie wäre es etwa so (ungetestet)
Manuel

PS: Bestimmt kommt auch noch jemand mit 'nem Einzeiler um die Ecke ;-) face-wink
Bitte warten ..
Mitglied: 147069
147069 (Level 1)
13.01.2021, aktualisiert um 15:49 Uhr
Bitte warten ..
Mitglied: Blacksaber
14.01.2021 um 13:09 Uhr
Danke für die Idee. Leider funktioniert diese Lösung nur wenn ich lokal angemeldet bin und nicht remote da der Get-Process über Remote den Pfad nicht ausgibt.

Nur für mich zum Verständnis: Was bewirkt das "?{[IO.Path]::GetFileName($_.Path)"?
Danke
Bitte warten ..
Mitglied: Blacksaber
14.01.2021 um 13:52 Uhr
Danke für den Vorschlag. Mit dem einzeiler hattest Recht... :-) face-smile

So ganz verstehe ich den Vorschlag allerdings nicht. Du willst jeden Prozess der "Prozesse" die entsprechende Kriterien haben in "Prozess" schreiben und diesen dann wenn "getroffen" beenden. Richtig?

Ich bekomme auf meinem Rechner leider keine Ergebnisse geliefert...

Gruß
Bitte warten ..
Mitglied: Blacksaber
14.01.2021 um 13:54 Uhr
Hi, das sieht gut aus. Kann ich hier nochmal filtern? Weil in dieser Form schreibt mir die PS alle gefundenen Prozesse als ProzessID weg. Ich benötige aber nur die, die einer konkreten Stage entsprechen. Wenn ich die Filterung im Vorfeld mache dann habe ich die @ Zeichen vorne dran und mit deiner Methode passiert dann gar nichts mehr...
Bitte warten ..
Mitglied: 147069
147069 (Level 1)
LÖSUNG 14.01.2021, aktualisiert um 15:27 Uhr
Zitat von Blacksaber:

Danke für die Idee. Leider funktioniert diese Lösung nur wenn ich lokal angemeldet bin und nicht remote da der Get-Process über Remote den Pfad nicht ausgibt.
Auch kein Problem, kannst du so auch gleich beenden ...
oder etwas aktueller und schneller mit CIM statt WMI
Nur für mich zum Verständnis: Was bewirkt das "?{[IO.Path]::GetFileName($_.Path)"?
Holt sich nur den Dateinamen aus einem Pfad, die Doku hätte es dir übrigens auch verraten.
https://docs.microsoft.com/de-de/dotnet/api/system.io.path.getfilename?v ...
Bitte warten ..
Mitglied: Blacksaber
14.01.2021 um 16:43 Uhr
Super!!

Vielen Dank. Damit bekomme ich es jetzt hin. Und danke für den Link zur Doku. Ich hätte nicht gewusst wonach ich genau suchen muss... Das hilft mir sehr weiter! Danke nochmal.

Gruß
Bitte warten ..
Heiß diskutierte Inhalte
Off Topic
HomeOffice Pflicht - Büroaustattung vom Arbeitgeber?
h45okeg493sVor 1 TagFrageOff Topic37 Kommentare

Hallo zusammen, aufgrund der HomeOffice Situation wollte ich mal rumfragen, muss der Arbeitgeber neben der Hardware wie Notebook, etc. auch Büroausstattung wie Bürostühle zur ...

Server-Hardware
Gebrauchte Server von eBay-Kleinanzeigen
gelöst dh2411Vor 1 TagFrageServer-Hardware16 Kommentare

Hallo zusammen, neulich war ich auf eBay-Kleinanzeigen unterwegs und dort wurden mir einige Server vorgeschlagen. Ich habe dort auch meinen aktuellen Home-Server recht günstig ...

Backup
Backupmöglichkeit Teamviewer
gelöst greenhorn1Vor 1 TagFrageBackup19 Kommentare

Hallo, ich habe bei meiner Teamviewer Lizenz die Möglichkeit ein Backup des PC´s durchzuführen. Leider funktioniert das nicht! Nach Rückfrage an Teamviewer erhielt ich ...

Grafikkarten & Monitore
Zweiter Bildschirm geht sporadisch immer aus?!
GeronimooVor 1 TagFrageGrafikkarten & Monitore8 Kommentare

Moin zusammen, ich habe ein Problem mit meinem 2. Monitor und zwar geht dieser sporadisch immer für 1-2 Sekunden aus oder flackert ein bisschen ...

Windows Tools
Jemand hat bereits Teams für Ihre Organisation eingerichtet (Microsoft Teams)
nachgefragtVor 1 TagFrageWindows Tools6 Kommentare

Hallo Administratoren, bevor ich weiß, dass Internet ist voll davon, daher darf ich es kurz machen: Problem Wir nutzten ausschließlich die kostenlose Variante von ...

Switche und Hubs
Kurioses Problem IP Adresse ändern am Cisco SG350 10p
gelöst Xaero1982Vor 1 TagFrageSwitche und Hubs16 Kommentare

Moin Zusammen, ich habe hier einen neuen Cisco SG350 10p. Wie schon so oft wollte ich ihm eine neue IP geben, also gehe ich ...

TK-Netze & Geräte
Panasonic NS700 - Endgeräte klingeln nicht, bzw. Gespräche kommen nicht an
gelöst jensgebkenVor 1 TagFrageTK-Netze & Geräte24 Kommentare

Hallo Gemeinschaft, nun habe ich mir für meine gebrauchte Anlage doch noch eine gebrauchte BRI gekauft - Installation klappte soweit auch - raustelefonieren kann ...

Internet
TV-Anschluss zu DSL Anschluss
FabioST88Vor 1 TagAllgemeinInternet12 Kommentare

Hallo zusammen, ich bin vor kurzer Zeit in eine kleine Wohnung gezogen und habe nur einen TV-Anschluss sprich das runde Kabel. Leider kenne ich ...