Computer >> 컴퓨터 >  >> 체계 >> Windows 10

Windows 서비스를 만드는 방법

때때로 컴퓨터에 로그인했는지 여부에 관계없이 계속 실행하려면 앱이나 스크립트가 필요합니다. 포트를 모니터링하는 PowerShell 스크립트 또는 홈 네트워크의 페이지를 호스팅하는 웹 서버일 수 있습니다.

요점은 컴퓨터가 켜져 있는 동안 프로세스, 스크립트 또는 프로그램을 실행하려면 Windows 서비스를 만들어야 한다는 것입니다.

    Windows 서비스를 만드는 방법

    Windows 서비스를 생성하려면 무엇이 필요합니까?

    Windows 10에서 Windows 서비스를 생성하려면 몇 가지 전제 조건이 있습니다.

    • 컴퓨터에서 관리자 액세스
    • 서비스로 실행할 항목(PowerShell 스크립트, 프로그램 등)
    • NSSM(Non-Sucking Service Manager) 설치

    비 빠는 서비스 관리자란 무엇입니까?

    예, 설명하지 않고 그런 이름을 삭제할 수 없습니다. 물론 이름은 불행하지만 정확합니다. NSSM(Non-Sucking Service Manager)은 틀림없이 매우 안정적이고 구성 가능한 Windows 서비스를 만드는 가장 쉬운 방법입니다. 또한 무료이며 오픈 소스 소프트웨어(OSS)입니다.

    Windows 서비스를 만드는 방법

    NSSM은 Windows 명령 프롬프트 또는 GUI(그래픽 사용자 인터페이스)를 통해 사용할 수 있습니다. 즉, 누구나 사용할 수 있습니다. NSSM은 Windows 2000을 포함한 모든 버전의 Windows에서 사용할 수 있습니다. 32비트 및 64비트 버전이 있습니다. 64비트 컴퓨터를 사용하는 경우 먼저 해당 버전을 사용해 보십시오. 작동하지 않으면 32비트 버전으로 돌아가십시오.

    웹사이트에서 NSSM을 다운로드하거나 Git에서 NSSM을 복제하거나 Chocolatey로 NSSM을 설치할 수 있습니다. Chocolatey는 Windows용 패키지 관리자입니다. 어떤 경로를 선택하느냐에 따라 설치 방법이 달라집니다. NSSM의 지침을 참조하십시오. 이 예에서는 NSSM 웹사이트에서 다운로드하여 C:\WINDOWS\system32에 설치합니다. .

    NSSM으로 Windows 서비스 만들기

    이 예에서는 CPU 평균 부하 비율을 기록하기 위해 PowerShell 스크립트에서 서비스를 생성합니다.

    1. 이 스크립트를 복사하여 log-CPULoadPercentage.ps1로 저장합니다. 다른 사람이 접근할 가능성이 없는 곳으로. C:/Scripts 디렉토리를 만들어 보십시오. 그리고 거기에 저장합니다. 또한 스크립트에 Logs라는 폴더를 만듭니다. . 스크립트 경로는 C:/Scripts/log-CPULoadPercentage.ps1입니다. . 나중에 필요합니다.

    참고 :아래의 # 기호가 오는 모든 줄은 주석이며 스크립트에 영향을 미치지 않습니다.

    CLS #Optional. I like to use this to clear the terminal when testing.
    
    #Make sure you have a folder called Logs in the same directory as this script
    #The log is where the records will be stored.
    Start-Transcript -Path "$PSScriptRoot\Logs\log-CPULoadPercentage-$(get-date -f yyyy-MM-dd).txt" -Append
    
    #While loop keeps it running until manually stopped
    While ($True){
         #Creates a timestamp to know when the measurement was taken
         $timeStamp = get-date -f yyyy-MM-h:mm:ss
    
         #Gets the average load percentage at that time, then waits 5 seconds to do it again.
         $cpuLoadPercent = Get-CimInstance win32_processor | Measure-Object -Property LoadPercentage -Average | Select-Object Average;Start-Sleep -Seconds 5
    
         #Isolates just the average so there isn't a weird @{Average=13} string
         $cpuLoadPercent = $cpuLoadPercent.Average
    
         #writes results to screen, or in this case to the log
         Write-Host "$timeStamp CPU Load Percentage $cpuLoadPercent"
    }
    
    Stop-Transcript
    1. 이 작업은 Windows 명령 프롬프트 또는 PowerShell. 관리자로 엽니다.
    2. nssm install logCPUAvg 명령을 입력합니다. 실행합니다. NSSM 서비스 설치 프로그램 창이 열립니다.
    Windows 서비스를 만드는 방법
    1. 경로: 옆에 있는 줄임표 버튼을 클릭합니다. 필드에서 powershell.exe 로 이동합니다. 일반적으로 C:\Windows\System32\에 있습니다. . powershell.exe를 선택합니다. 경로:시작 디렉토리: 필드가 자동으로 채워집니다.
    Windows 서비스를 만드는 방법
    1. 인수에 다음을 입력합니다. 필드:-ExecutionPolicy Bypass -NoProfile -파일 "C:\PathToScript\get-Script.ps1" , 여기서 마지막 부분은 PowerShell 스크립트의 경로와 스크립트 이름입니다.
    Windows 서비스를 만드는 방법
    1. 세부정보 선택 탭. Windows 서비스 관리자에 표시할 서비스를 표시 이름:에 입력합니다. 들. 그런 다음 설명:에 기능을 입력합니다. 들. 시작 유형: 자동으로 설정할 수 있습니다. , 자동(지연된 시작) , 수동 , 또는 사용 중지 . 이 연습에서는 자동이 좋습니다.
    Windows 서비스를 만드는 방법 <올 시작="7">
  • 로그온 탭. 이 계정 선택 :라디오 버튼을 누르고 서비스를 실행할 계정과 비밀번호를 입력합니다. 서비스를 실행할 계정을 선택해야 합니다. 이상적으로는 이 서비스를 실행하기 위한 Windows 계정이 생성됩니다. 이 계정의 권한은 서비스에서 수행해야 하는 작업으로만 제한되어야 합니다. 로컬 시스템 계정을 선택할 수 있습니다. 하지만 보안상의 이유로 권장하지 않습니다.
  • Windows 서비스를 만드는 방법

    서비스를 사용자 정의하는 데 사용할 수 있는 몇 가지 다른 탭이 있습니다. 이 연습에서는 해당 탭의 기본값으로 충분합니다. 서비스 설치 를 선택하십시오. 버튼.

    1. 서비스가 설치되면 서비스 "logCPUAvg"가 성공적으로 설치된 것을 볼 수 있습니다! 창문. 확인 선택 닫습니다. 이것으로 설치를 마칩니다.
    Windows 서비스를 만드는 방법
    1. Windows 서비스 관리자 열기 서비스가 있는지 확인하십시오.
    Windows 서비스를 만드는 방법
    1. 서비스를 실행하여 실행되도록 합니다.
    Windows 서비스를 만드는 방법
    1. 이 서비스가 실행 중인지 확인하려면 파일 탐색기 를 사용하십시오. 로그가 저장되어야 하는 위치로 이동하여 존재하는지 확인합니다.
    Windows 서비스를 만드는 방법

    nssm-check-log.png

    NSSM으로 Windows 서비스 제거

    더 이상 CPU 부하를 모니터링할 필요가 없으므로 서비스를 제거하고 싶을 수도 있습니다. 다행히도 NSSM은 이를 쉽게 만듭니다.

    1. Windows 서비스 관리자 , 서비스를 중지합니다. Log CPU Average Load 를 선택하면 됩니다. 서비스를 선택한 다음 툴바에서 정사각형 중지 버튼을 선택하거나 서비스 중지 링크는 왼쪽에 있습니다.
    Windows 서비스를 만드는 방법
    1. Windows 명령 프롬프트 또는 PowerShell 관리자로.
    2. nssm remove logCPUAvg 명령을 입력합니다. 그리고 명령을 실행합니다.
    Windows 서비스를 만드는 방법
    1. NSSM에서 확인을 요청할 것입니다. 선택 .
    Windows 서비스를 만드는 방법
    1. 서비스가 제거되면 서비스 "logCPUAvg"가 성공적으로 제거된 것을 볼 수 있습니다! 확인. 확인 선택 완료되었습니다.
    Windows 서비스를 만드는 방법

    그게 다야. 서비스 관리자에게 서비스가 더 이상 존재하지 않는지 확인하는 것이 좋습니다. 서비스가 계속 표시되는 경우 화면을 새로고침해야 할 수 있으며 사라집니다.

    서비스는 항상 실행해야 하는 앱이나 스크립트를 실행하고, 실패할 경우 자체적으로 다시 시작하거나, 현재 사용자와 다른 권한이 필요한 훌륭한 방법입니다. 이러한 모든 작업을 수행하는 데 앱이나 스크립트가 필요하지 않은 경우 대신 예약된 작업을 사용하는 것이 좋습니다.