nickvonname
Goto Top

Taskmanager Details inkl. Befehlszeile Kopieren

Hallo zusammen,

ich würde gerne im Taskmanager die Details inkl. der Spalte "Befehlszeile" in Textform kopieren.
Eine Taskliste kann man sich ja über die Eingabeaufforderung anzeigen lassen bzw. kopieren.
Wie bekomme ich die Details inkl. der Spalte "Befehlszeile" per Eingabeaufforderung angezeigt?
taskmanager-befehlszeile

Content-Key: 479047

Url: https://administrator.de/contentid/479047

Printed on: April 19, 2024 at 14:04 o'clock

Member: erikro
erikro Jul 29, 2019 at 10:48:04 (UTC)
Goto Top
Moin,

mit Powershell ein Einzeiler:

Get-ScheduledTask | % {$_.TaskName; $_ | select -ExpandProperty actions} | out-file sched.txt

In der Eigenschaft "Execute" steht der Befehl und in "Arguments" die Parameter, wenn vorhanden.

hth
Member: Kraemer
Kraemer Jul 29, 2019 at 11:25:05 (UTC)
Goto Top
Zitat von @erikro:

Moin,

mit Powershell ein Einzeiler:
mag sein, aber nicht so
Get-ScheduledTask | % {$_.TaskName; $_ | select -ExpandProperty actions} | out-file sched.txt
das sind die geplanten Aufgaben und nicht die laufenden Tasks (Prozesse)
Member: erikro
erikro Jul 29, 2019 at 11:36:44 (UTC)
Goto Top
Ooops, da habe ich mich glatt verlesen. Es ist wieder sehr heiß.
Member: erikro
erikro Jul 29, 2019 at 12:12:28 (UTC)
Goto Top
Korrektur. Das ist natürlich die Liste der geplanten und nicht der laufenden Tasks. Sorry. Laufende Tasks ist noch einfacher:

get-process | select * | export-csv p:\test\process.csv -delimiter ";" -NoTypeInformation -encoding utf8  

hth

Erik
Member: Kraemer
Kraemer Jul 29, 2019 at 13:09:29 (UTC)
Goto Top
Zitat von @erikro:

Korrektur. Das ist natürlich die Liste der geplanten und nicht der laufenden Tasks. Sorry. Laufende Tasks ist noch einfacher:

get-process | select * | export-csv p:\test\process.csv -delimiter ";" -NoTypeInformation -encoding utf8  
naja - auch nicht wirklich, weil du die Aufrufparameter nicht hast. Du kommst zwar über die Path-Eigenschaft an die Anwendung - nicht aber an die Parameter. Interessant ist, dass man die hinter Startinfo vermuten könnte - da sind sie aber auch nicht versteckt.
Member: erikro
erikro Jul 29, 2019 at 14:15:24 (UTC)
Goto Top
Dann so:

$processes = Get-Process
foreach($process in $processes) {

    $cmd = (Get-WmiObject Win32_Process | where {$_.Name -match $($process.name)}).CommandLine
    $process | add-member noteproperty "Command" ($cmd)  
    $process | export-csv test_proc.csv -delimiter ";" -NoTypeInformation -Encoding utf8 -Append  

}

Dann steht in der Spalte Command der Aufruf mit Parametern.
Mitglied: 140447
140447 Jul 30, 2019 updated at 07:44:53 (UTC)
Goto Top
Zitat von @erikro:

Dann so:

$processes = Get-Process
> foreach($process in $processes) {
> 
>     $cmd = (Get-WmiObject Win32_Process | where {$_.Name -match $($process.name)}).CommandLine
>     $process | add-member noteproperty "Command" ($cmd)  
>     $process | export-csv test_proc.csv -delimiter ";" -NoTypeInformation -Encoding utf8 -Append  
> 
> }

Dann steht in der Spalte Command der Aufruf mit Parametern.
Umständlich und langsam wenn es auch einfach und schnell geht face-smile
gcim win32_Process | select Name,ProcessId,Commandline | export-csv export.csv -delimiter ";" -NoTypeInformation -Encoding utf8  
Wieso erst alle Prozesse mit Get-Process itterieren um dann jeden Prozess erneut abzufragen/abzugleichen?? Die WMI Klassen enthalten alle Informationen die auch Get-Process liefert, und noch eine Menge mehr. Außerdem nutzt man heutzutage bevorzugt "Get-CimInstance", da erstens schneller und in PS 6 ist Get-WMIObject auch schon nicht mehr enthalten.
Member: NickVonName
NickVonName Jul 30, 2019 at 08:03:08 (UTC)
Goto Top
Danke, funktioniert. Aber leider wird nur bei ca. der Hälfte die Befehlszeile angezeigt. Im Taskmanager sind es aber ca. 95%.
Mitglied: 140447
140447 Jul 30, 2019 updated at 08:29:19 (UTC)
Goto Top
Aber leider wird nur bei ca. der Hälfte die Befehlszeile angezeigt. Im Taskmanager sind es aber ca. 95%.
Nö, mach die Zelle in Excel größer! Per Export-CSV werden die Daten immer komplett Exportiert die Konsole kürzt nur aus Platzmangel! Und starte die PS mal elevated.

Wenn du es auf der Kommandozeile komplett darstellen willst nutzt du
gcim win32_Process | select Name,ProcessId,Commandline | ft -Auto -Wrap
oder auch
gcim win32_Process | select Name,ProcessId,Commandline | ogv
Member: erikro
erikro Jul 30, 2019 at 08:19:23 (UTC)
Goto Top
Hast Du beim Taskmanager auch "Prozesse aller User anzeigen" aktiviert? Die ohne Befehlszeile sind in der Regel Systemprozesse, die im Standard im TM nicht mit angezeigt werden.
Member: nik.taylor90
nik.taylor90 Jan 27, 2023 updated at 07:29:42 (UTC)
Goto Top
Ich weiß der Beitrag ist schon älter.
Aber ich müsste auch die Commandline für einen Systemprozess auslesen.
Kann mir hier jemand weiterhelfen?

Edit: Hat sich erledigt. Ich musste die Powershell ISE nur als Administrator ausführen.
Mitglied: 3063370895
3063370895 Jan 27, 2023 updated at 07:41:03 (UTC)
Goto Top
Zitat von @nik.taylor90:

Ich weiß der Beitrag ist schon älter.
Aber ich müsste auch die Commandline für einen Systemprozess auslesen.
Kann mir hier jemand weiterhelfen?

Edit: Hat sich erledigt. Ich musste die Powershell ISE nur als Administrator ausführen.

Klappt doch genauso?
qvde2nymnh

Gerade dein Edit gesehen face-smile