K
Klonky
Gast
Nabend.
Ich habe gerade das Problem, das ich zwar den Typ des Dienstes auslesen kann (Also ob es Manuell, Automatisch, ect gestartet wird), aber ich kann es nicht so ganz in eine Variable binden. Derzeit bin ich an dem Microsoft Advance Kurs, mein Script funktioniert auch soweit, aber irgendwie komm ich damit nicht weiter.
Folgende Situation; Mit dem Beispiel unten lese ich zwar den einzeln Dienst aus und dort steht dann Starttyp : Manuell zb, aber wenn ich die Variable versuche in Excel auszuschreiben (oder mit Write-host), kommt da nur ne Textwand raus. Irgendwie stimmt dort was nicht. Vielleicht kann mir jemand nen Gedankenstoß geben, wäre echt nett
Ich habe gerade das Problem, das ich zwar den Typ des Dienstes auslesen kann (Also ob es Manuell, Automatisch, ect gestartet wird), aber ich kann es nicht so ganz in eine Variable binden. Derzeit bin ich an dem Microsoft Advance Kurs, mein Script funktioniert auch soweit, aber irgendwie komm ich damit nicht weiter.
Folgende Situation; Mit dem Beispiel unten lese ich zwar den einzeln Dienst aus und dort steht dann Starttyp : Manuell zb, aber wenn ich die Variable versuche in Excel auszuschreiben (oder mit Write-host), kommt da nur ne Textwand raus. Irgendwie stimmt dort was nicht. Vielleicht kann mir jemand nen Gedankenstoß geben, wäre echt nett
Code:
$excel = new-object -comobject excel.application
$excel.visible = $true
$filepath="P:\Excel\mappe1.xlsx"
$workbook=$excel.Workbooks.open($filepath)
start-sleep 2 #Pause von 2 Sekunden
$workbook=$excel.Workbooks.add()
$sheet = $workbook.Worksheets.Item(1)
#Zellen mit Werten füllen
$sheet.Cells.Item(1,1).value2="_server"
$sheet.Cells.Item(1,2).value2="Name"
$sheet.Cells.Item(1,3).value2="Startmode"
$sheet.Cells.Item(1,4).value2="State"
$sheet.Cells.Item(1,5).value2="Startname"
$a=2
get-service | sort name | foreach {
$sheet.Cells.Item($a,1).value2="{0}" -f $Server
$sheet.Cells.Item($a,2).value2="{0}" -f $_.name
$sheet.Cells.Item($a,4).value2="{0:f}" -f $_.status
$sheet.Cells.Item($a,5).value2="{0}" -f $_.Displayname
$a++
$name=$_.name
#----------------------------------------------------------------------------------
#Hier ist das Problem!
$startup=gwmi win32_service -filter "NAME = '$name'" | fl -prop StartMode
write-host $startup
$sheet.Cells.Item($a,3).value2="{0}" -f $startup
}
start-sleep 2 #Pause von 2 Sekunden
$filepath="P:\excel\mappe2.xls" #Pfad
$workbook.SaveAs($filepath)
$excel.Application.DisplayAlerts = $False
$excel.quit()
$ExcelProcess=get-process excel
$ExcelProcess | foreach {stop-process ($_.id)}
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel) #Entfernen des
ComObjekts aus dem Speicher