Return service name, display name, start mode and state from win_service module.

pull/8015/head
Chris Church 11 years ago
parent 67e56853d3
commit efc07cf627

@ -48,14 +48,27 @@ $svc = Get-Service -Name $svcName -ErrorAction SilentlyContinue
If (-not $svc) { If (-not $svc) {
Fail-Json $result "Service '$svcName' not installed" Fail-Json $result "Service '$svcName' not installed"
} }
# Use service name instead of display name for remaining actions.
If ($svcName -ne $svc.ServiceName) {
$svcName = $svc.ServiceName
}
If ($startMode) { Set-Attr $result "name" $svc.ServiceName
$svcMode = Get-WmiObject -Class Win32_Service -Property StartMode -Filter "Name='$svcName'" Set-Attr $result "display_name" $svc.DisplayName
$svcMode = Get-WmiObject -Class Win32_Service -Property StartMode -Filter "Name='$svcName'"
If ($startMode) {
If ($svcMode.StartMode.ToLower() -ne $startMode) { If ($svcMode.StartMode.ToLower() -ne $startMode) {
Set-Service -Name $svcName -StartupType $startMode Set-Service -Name $svcName -StartupType $startMode
Set-Attr $result "changed" $true Set-Attr $result "changed" $true
Set-Attr $result "start_mode" $startMode
}
Else {
Set-Attr $result "start_mode" $svcMode.StartMode.ToLower()
}
} }
Else {
Set-Attr $result "start_mode" $svcMode.StartMode.ToLower()
} }
If ($state) { If ($state) {
@ -87,5 +100,7 @@ If ($state) {
Set-Attr $result "changed" $true; Set-Attr $result "changed" $true;
} }
} }
$svc.Refresh()
Set-Attr $result "state" $svc.Status.ToString().ToLower()
Exit-Json $result; Exit-Json $result;

Loading…
Cancel
Save