Benutzer mit den meisten Antworten
Get-Service, Property Status, Verständnisfrage,

Frage
-
hallo Zusammen
ich habe gerade aus einem Buch ein Beispiel abgetippt, bei dem bei Get-Service das Property "Status" der Zahlenwert 1-4 ausgegeben wird.
$_.status
$excel = New-Object -ComObject Excel.Application $workbook = $excel.workbooks.add() $excel.visible = $true $excel.cells.item(1,1) = "Service Name" $excel.cells.item(1,2) = "Service Status" $excel.cells.item(1,3) = "Service Status" $i = 2 Get-Service | foreach{ $excel.cells.item($i,1) = $_.Name $excel.cells.item($i,2) = $_.status $excel.cells.item($i,3) = "$($_.status)" $i=$i+1 }
wenn ich das gleiche abgekürzt mache kommt ich der Langtext "started oder stopped"? Ich finde keinen Unterschied.
Get-Service | foreach{ $_.status "$($_.status)" }
Chris
- Bearbeitet -- Chris -- Montag, 6. April 2020 17:21
Antworten
-
Moin,
wenn Du die Zahlenwerte haben willst, bekommst Du sie mit
Get-Service | ForEach-Object { $_.Status.value__ }
EDIT: Jetzt verstehe ich, wo Dein Problem liegt. Der Standardtyp einer Excel-Zelle ist Zahl, und es wird versucht, das Ergebnis als Zahl zu casten (was ja auch gelingt, da es ja ein Enum ist, und der wahre Wert ist der Index...)
Evgenij Smirnov
- Bearbeitet Evgenij Smirnov Montag, 6. April 2020 17:33
- Als Antwort markiert -- Chris -- Montag, 6. April 2020 17:35
Alle Antworten
-
Moin,
wenn Du die Zahlenwerte haben willst, bekommst Du sie mit
Get-Service | ForEach-Object { $_.Status.value__ }
EDIT: Jetzt verstehe ich, wo Dein Problem liegt. Der Standardtyp einer Excel-Zelle ist Zahl, und es wird versucht, das Ergebnis als Zahl zu casten (was ja auch gelingt, da es ja ein Enum ist, und der wahre Wert ist der Index...)
Evgenij Smirnov
- Bearbeitet Evgenij Smirnov Montag, 6. April 2020 17:33
- Als Antwort markiert -- Chris -- Montag, 6. April 2020 17:35
-
ganz schön verwirrend. Aber ganz gut erklärt. Da hätte ich noch lange testen können.
hätte ich mit dem .value auch das selbst aus get-member oder aus der Hilfe herauslesen können?
ServiceType Property System.ServiceProcess.ServiceType ServiceType {get;}
Site Property System.ComponentModel.ISite Site {get;set;}
StartType Property System.ServiceProcess.ServiceStartMode StartType {get;}
Status Property System.ServiceProcess.ServiceControllerStatus Status {get;}
ToString ScriptMethod System.Object ToString();
Chris
- Bearbeitet -- Chris -- Montag, 6. April 2020 17:38
-
hätte ich mit dem .value auch das selbst aus get-member oder aus der Hilfe herauslesen können?
Ja:
Get-Service | Select-Object -ExpandProperty StartType | Get-Member *
Evgenij Smirnov