PowerShell을 사용하여 Windows 서비스 시작 유형 가져오기
WMI를 사용하지 않고 PowerShell을 사용하여 Windows 서비스 시작 유형을 가져오려면 어떻게 해야 합니까?
Get-Service 명령어 내부를 살펴보았는데, "시작 유형"을 표시할 수 있는 기능은 제공되지 않습니다.
PowerShell 버전 4의 경우:
다음과 같이 명령을 실행할 수 있습니다.
Get-Service | select -property name,starttype
WMI가 이를 위한 방법입니다.
Get-WmiObject -Query "Select StartMode From Win32_Service Where Name='winmgmt'"
아니면
Get-WmiObject -Class Win32_Service -Property StartMode -Filter "Name='Winmgmt'"
PowerShell에서는 Set-Service 명령을 사용할 수 있습니다.
Set-Service -Name Winmgmt -StartupType Manual
시작 유형을 볼 수 있는 PowerShell 명령을 찾지 못했습니다.누군가는 Get-Service 명령이 그것을 제공할 것이라고 생각하겠지만, 그렇지 않은 것 같습니다.
다음을 사용할 수도 있습니다.
(Get-Service 'winmgmt').StartType
시작 유형(예: 비활성화됨)만 반환합니다.
이러한 정보를 얻을 수 있는 "원본적인" PowerShell 방법은 없는 것으로 알고 있습니다.그리고 아마도 그것은 오히려 그것일 것입니다.PowerShell보다 NET 제한이 있습니다.
다음은 이 기능을 다음 버전에 추가하는 방법입니다.
만일의 경우를 대비하여 WMI 해결 방법도 있습니다.이 WMI 솔루션을 내 작업에 사용하면 작동합니다.
PowerShell 버전 5로 업그레이드하면 시작 유형을 확인할 수 있습니다.
실행 중인 PowerShell 버전을 확인하려면 다음을 사용합니다.$PSVersionTable
.
다음 예는 Windows 방화벽 서비스에 대한 것입니다.
로컬 시스템의 경우
Get-Service | Select-Object -Property Name,Status,StartType | where-object {$_.Name -eq "MpsSvc"} | Format-Table -auto
하나의 원격 시스템의 경우
Get-Service -ComputerName HOSTNAME_OF_SYSTEM | Select-Object -Property MachineName,Name,Status,StartType | where-object {$_.Name -eq "MpsSvc"} | Format-Table -auto
여러 시스템의 경우(시스템을 생성해야 함).txt)
Get-Service -ComputerName (Get-content c:\systems.txt) | Select-Object -Property MachineName,Name,Status,StartType | where-object {$_.Name -eq "MpsSvc"} | Format-Table -auto
용도:
Get-Service BITS | Select StartType
또는 용도:
(Get-Service -Name BITS).StartType
그리고나서
Set-Service BITS -StartupType xxx
[파워쉘 5.1]
PowerShell 5로 업데이트하면 시스템의 모든 서비스를 쿼리하고 이름과 StartType을 표시한 다음 StartType을 기준으로 정렬하여 쉽게 볼 수 있습니다.
Get-Service |Select-Object -Property Name,StartType |Sort-Object -Property StartType
도구를 사용하여 설정할 수도 있습니다.
또한 PowerShell에서 호출하여 필요한 경우 추가 검사를 추가할 수도 있습니다.이 툴의 장점은 다음과 같습니다.파워쉘은sc
도구는 시작 유형을 자동 지연으로 설정할 수도 있습니다.
# Get Service status
$Service = "Wecsvc"
sc.exe qc $Service
# Set Service status
$Service = "Wecsvc"
sc.exe config $Service start= delayed-auto
파워쉘 4로 가능합니다.
Get-Service *spool* | select name,starttype | ft -AutoSize
기본적으로 StartType은 다음과 같이 표시되지 않습니다.Get-Service
, 그러나 언제든지 명시적으로 요청할 수 있습니다.
Get-Service | select StartType,DisplayName | sort StartType,DisplayName
사용하다Get-Service | Get-Member
사용 가능한 모든 필드를 봅니다.
언급URL : https://stackoverflow.com/questions/4304821/get-startup-type-of-windows-service-using-powershell
'programing' 카테고리의 다른 글
html 요소에 대한 onclick 이벤트에 대한 data-* 특성 가져오기 (0) | 2023.10.30 |
---|---|
DEFAULT NULL이 있는 MySQL 열 - 스타일리시한 선택입니까? (0) | 2023.10.25 |
CakePHP에서 도메인 매핑 (0) | 2023.10.25 |
CSS 인쇄:페이지 간의 절반씩 잘라내는 DIV를 피합니까? (0) | 2023.10.25 |
페이지에 파일을 드롭할 때 파일 입력 값을 설정하는 방법은 무엇입니까? (0) | 2023.10.25 |