Ich habe eine Skript Powershell, um PercentProcessorTime von Prozessen zu erhalten.Wie piped Ausgabe in Powershell zu einer Zeile formatieren
$Processes = (get-wmiobject Win32_PerfFormattedData_PerfProc_Process)
$Processes | %{ New-Object psobject -Property `
@{ Time = $_.PercentProcessorTime;
Name = ($_.name -replace "#\d+", "")}}`
| ?{ $_.Name -notmatch "_Total|Idle" } `
| Group-Object Name `
| %{ New-Object psobject -Property `
@{ Name = $_.Name;
Sum = ($_.Group | Measure-Object Time -Sum).Sum }} `
| Format-Table
Format des Ergebnisses wie folgt:
Aber ich möchte, wie unten Ergebnis zu formatieren, um Datenbank einzufügen:
OK |Idle=100 System=6 smss=0 csrss=0 wininit=0 services=0 lsass=0 lsm=0 svchost=18 ICTrigger=0 nvvsvc=0 ICDCMGR64=0 svchost#2=0 winlogon=0 svchost#3=0 svchost#4=0 svchost#5=0 igfxCUIService=0 svchost#6=0 spoolsv=0 svchost#7=0 armsvc=0 ShieldStart=0 svchost#8=0 GateMan=0 HeciServer=0 Jhi_service=0 NHCAAgent=0 nvxdsync=0 nvvsvc#1=0 nscp=0 PaSvc=0 pcdrmsvc=0 NSCHIM=0 ASDSvc=0 secugate64=0 WindowsSecuService=0 WinFil32=0 WmiPrvSE=0 svchost#9=0 papersrv64=0 WUDFHost=0 svchost#10=0 svchost#11=0 WmiP rvSE#1=0 PaTray=0 unsecapp=0 WmiPrvSE#2=0 LMS=0 SWMAgent=0
Bitte helfen Sie mir, es zu lösen. Vielen Dank ^^
'Format- *' Cmdlets sind für _display Formatierung_, nicht für die Erstellung von Daten. Bitte geben Sie Ihre gewünschte Ausgabe direkt in Ihre Frage ein, vorzugsweise als Text, zusammen mit einer Erklärung. Lesen Sie auch über [wie man eine gute Frage stellt] (http://stackoverflow.com/help/how-to-ask). – mklement0
Dies ist ein klassisches Beispiel für die Verwendung von convertto-stringdata, die standardmäßig nicht mit PS geliefert wird. Convertfrom-stringdata bricht die Daten im Hashtable-Format und die Umkehrung macht es als Schlüssel-Wert-Paar. [Dieser Link] (https://blogs.technet.microsoft.com/heyscriptingguy/2011/01/17/simplify-powershell-hash-table-creation-with-a-simple-cmdlet/) wird Ihnen dabei helfen . –