Powershell을 사용하여 서비스를 원격으로 시작 / 중지 할 수있는 권한을 부여하려면 어떻게합니까?


10

다른 컴퓨터에서 서비스를 다시 시작하는 PowerShell 스크립트가 있습니다. PowerShell의 기본 제공 서비스 제어 cmdlet을 사용하는 경우 다음과 같습니다.

$svc = Get-Service -Name MyService -ComputerName myservicehostname
Stop-Service -InputObject $svc
Start-Service -InputObject $svc

이 오류가 다시 발생합니다.

Stop-Service : 'myservicehostname'컴퓨터에서 MyService 서비스를 열 수 없습니다.

그러나 sc.exe를 사용하면 다음과 같이됩니다.

C:\Windows\System32\sc \\myservicehostname stop MyService
C:\Windows\System32\sc \\myservicehostname start MyService

시작과 중지가 성공합니다.

다시 시작하는 사용자 는 관리자 가 아닙니다 . subinacl을 사용하여 서비스를 시작 / 중지하고 쿼리 할 수있는 권한을 사용자에게 부여합니다.

subinacl.exe /service MyService /GRANT=MyServiceControlUser=STO

PowerShell은 어떻게 서비스를 중지 sc.exe할 수는 없습니까?

답변:


20

충분한 권한을 부여하지 않은 것으로subinacl 나타났습니다 . 권한 부여 조치에 가능한 액세스 값은 다음과 같습니다.

    F : Full Control  
    R : Generic Read  
    W : Generic Write  
    X : Generic eXecute  
  or any following values  
    L : Read controL  
    Q : Query Service Configuration  
    S : Query Service Status  
    E : Enumerate Dependent Services  
    C : Service Change Configuration  
    T : Start Service  
    O : Stop Service  
    P : Pause/Continue Service  
    I : Interrogate Service  
    U : Service User-Defined Control Commands  

내가 사용하던 S (쿼리 서비스 상태), T (서비스 시작)와 O (서비스 중지)를. 나는 또한 E (Equirate Dependent Services)가 필요했습니다. PowerShell cmdlet은 시작 / 중지 할 때 종속 서비스를 확인해야합니다.

업데이트 된 subinacl명령은 다음과 같습니다 .

subinacl.exe /service MyService /GRANT=MyServiceControlUser=STOE

다운로드 / 사용하지 않으려는 경우 카본 모듈의 Grant-ServiceControlPermission 또는 Grant-ServicePermission 함수 subinacl.exe를 통해 PowerShell을 사용할 수 있습니다 . (면책 조항 : 저는 Carbon 프로젝트의 소유자 / 유지 자입니다.)


이것을 정답으로 표시하십시오. 이것은 똑같은 문제에 대해 나에게 큰 도움이되었습니다 :)
Alain O'Dea

나는 subinacl전에 들어 본 적이 없다 . 유용한 유틸리티입니다! 이 정보를 남겨 주시기 위해 다시 방문해 주셔서 감사합니다.
Dan

원격 컴퓨터의 서비스를 제어하기 위해 Windows 2016 서버가있는 비 도메인 환경에서 잘 작동합니다.
Doug Knudsen

0

다음 명령은 Windows Server 2008 R2 컴퓨터에서 예상대로 작동합니다.

Start-Service -InputObject $(Get-Service -Computer [ComputerName] -Name spooler)  

이 일회용 명령을 사용해도 작동하는지 확인할 수 있으며, 사용자가 대상 서버에서 Users 그룹의 구성원 인 그룹의 구성원인지 확인 했습니까?


당신의 도청은 나에게 효과가 없습니다. 보안 요구 사항으로 인해 사용자를 Users 그룹 (또는 기본 제공 Windows 그룹)의 구성원으로 만들 수 없습니다.
흩어진 비트
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.