Wie kann ich den Starttyp des Windows-Dienstes mit PowerShell abrufen und nicht WMI verwenden?Starttyp des Windows-Dienstes mit PowerShell abrufen
Ich schaute in den Get-Service Befehl, und es bietet nicht etwas, um den "Starttyp" anzuzeigen.
Wie kann ich den Starttyp des Windows-Dienstes mit PowerShell abrufen und nicht WMI verwenden?Starttyp des Windows-Dienstes mit PowerShell abrufen
Ich schaute in den Get-Service Befehl, und es bietet nicht etwas, um den "Starttyp" anzuzeigen.
Mit Powershell Version 4:
Sie können einen Befehl ausführen, wie unten angegeben:
Get-Service | select -property name,starttype
Soweit ich weiß, gibt es keine "native" PowerShell Möglichkeit, diese Informationen zu erhalten. Und vielleicht ist es eher die .NET-Beschränkung als PowerShell.
Hier ist der Vorschlag, diese Funktionalität auf die Version hinzuzufügen nächste:
Die WMI Abhilfe ist auch da, nur für den Fall. Ich verwende diese WMI-Lösung für meine Aufgaben und es funktioniert.
Stand 2015-10-10: [* Dies ist behoben und wird in der nächsten technischen Vorschau von Windows Server 2016 verfügbar sein. *] (Https://connect.microsoft.com/PowerShell/feedback/details/424948/ Ich möchte die Eigenschaft "start-type-add-to-get-services" sehen. – StackzOfZtuff
WMI ist der Weg, dies zu tun.
Get-WmiObject -Query "Select StartMode From Win32_Service Where Name='winmgmt'"
Oder
Get-WmiObject -Class Win32_Service -Property StartMode -Filter "Name='Winmgmt'"
Gibt es eine Möglichkeit, den Starttyp über PowerShell zu ändern? –
Sicher. '$ svc = Get-WmiObject -Klasse Win32_Service -Filter" Name = 'Winmgmt' "; $ svc.StartMode = 'Manuell'; $ svc.psbase.put() – ravikanth
Wie kann ich sehen, ob ein verzögerter Start für den Service eingestellt ist? –
In Powershell Sie den Befehl Set-Service verwenden können:
Set-Service -Name Winmgmt -StartupType Manual
ich kein Powershell-Befehl gefunden haben, obwohl Sie den Starttyp anzuzeigen. Man würde annehmen, dass der Befehl Get-Service das liefern würde, aber es scheint nicht so zu sein.
Vielleicht nützlich: Set-Service -Name Winmgmt -StartupType Handbuch -Status läuft - http://www.computerperformance.de/powershell/powershell_service_set.htm – Kiquenet
Wenn Sie Powershell 5 aktualisieren können Sie alle Dienste auf der Maschine und Anzeige Name und Starttype und sortieren sie nach Starttype für die einfache Anzeige abfragen:
Get-Service |Select-Object -Property Name,StartType |Sort-Object -Property StartType
Sobald Sie upgraded to PowerShell version 5 haben, können Sie den Starttyp bekommen.
Um zu überprüfen, welche Version von PowerShell Sie verwenden, verwenden Sie $PSVersionTable
.
Die folgenden Beispiele sind für die Windows-Firewall-Service:
Für das lokale System
Get-Service | Select-Object -Property Name,Status,StartType | where-object {$_.Name -eq "MpsSvc"} | Format-Table -auto
Für ein Remote-System
Get-Service -ComputerName HOSTNAME_OF_SYSTEM | Select-Object -Property MachineName,Name,Status,StartType | where-object {$_.Name -eq "MpsSvc"} | Format-Table -auto
für mehrere Systeme (Muss Erstelle die systems.txt)
Get-Service -ComputerName (Get-content c:\systems.txt) | Select-Object -Property MachineName,Name,Status,StartType | where-object {$_.Name -eq "MpsSvc"} | Format-Table -auto
Es ist auch ohne Piping möglich: '(Get-Service-Name MpsSvc) .StartType' – Gargravarr
Sie können auch das sc
Werkzeug verwenden, um es einzustellen.
Sie können es auch über PowerShell aufrufen und bei Bedarf zusätzliche Prüfungen hinzufügen. Der Vorteil dieses Tools gegenüber PowerShell besteht darin, dass das Tool sc
den Starttyp auch auf automatisch verzögert setzen kann.
# Get Service status
$Service = "Wecsvc"
sc.exe qc $Service
# Set Service status
$Service = "Wecsvc"
sc.exe config $Service start= delayed-auto
können Sie auch:
(Get-Service 'winmgmt').StartType
Es gibt nur den Starttyp, zum Beispiel deaktiviert.
Dies scheint nur auf PS v5 zu funktionieren. Ich habe auf v2 und v4 getestet, aber es gibt nichts zurück. – KERR
Verwendung:
Get-Service BITS | Select StartType
oder benutzen:
(Get-Service -Name BITS).StartType
Dann
Set-Service BITS -StartupType xxx
[Powershell 5.1]
Dies scheint nur auf v5 zu arbeiten - getestet auf v4 und v2 und Das StartType-Feld wird nicht aufgefüllt – KERR
Dies funktioniert nicht in Version 5 auf einem Windows Server 2012 R2. Es funktioniert unter Windows 10 sowohl lokal als auch bei der Abfrage eines Remote-Windows Server 2012 R2. – curropar