Muuta PowerShell-skripti Windows-palveluksi (ps1 palveluksi)
Kuten tiedetään, PowerShell toimii erinomaisesti hallinnan parissa. On kuitenkin tilanteita, joissa on tarpeen ajaa ps1-skripti palveluna. Koska PowerShell suunniteltiin alun perin automaatio- ja järjestelmänhallintatyökaluksi, se ei voi natiivisti toimia palvelutilassa (PowerShell palveluksi).
Tämä rajoitus voi olla turhauttava, kun tarvitset taustalla toimivaa seurantaskriptiä, automaattista siivoustehtävää tai mitä tahansa pitkäaikaisesti toimivaa PowerShell-prosessia Windows Server 2025 -ympäristössä — erityisesti tuotantoympäristöissä, joissa palveluiden odotetaan käynnistyvän automaattisesti ja selviävän käyttäjien uloskirjautumisista.
Onneksi tämä ongelma voidaan ratkaista kolmannen osapuolen työkaluilla, joiden avulla voit ajaa minkä tahansa suoritettavan tiedoston (tai skriptin) Windows-palveluna.
Työkalut EXE-tiedostojen ajamiseksi Windows-palveluina
On olemassa monia apuohjelmia, jotka voivat muuttaa suoritettavan tiedoston Windows-palveluksi, kuten:
- AlwaysUp
- NSSM (Non-Sucking Service Manager)
- WinSW
- SrvStart
- EXE Service
Tässä artikkelissa käytämme EXE Service -työkalua, sillä se tarjoaa valmiin esimerkkikonfiguraation PowerShellille ja tukee sekä graafista käyttöliittymää että komentoriviä.
PowerShell-skriptin ajaminen Windows-palveluna
Vaihe 1: Avaa EXE Service
Kun olet asentanut EXE Service -työkalun, työpöydällesi ilmestyy pikakuvake.
Graafinen käyttöliittymä on tarkoitettu vain helpottamaan palvelun luomista.
Jos työskentelet Windows Server -ympäristössä ilman graafista käyttöliittymää, sinulla on kaksi vaihtoehtoa:
- Luo palvelu tavallisella tietokoneella ja siirrä se sitten palvelimelle
- Suorita EXE Service suoraan palvelimella komentorivin kautta
Vaihe 2: Luo uusi palvelu
EXE Service sisältää jo valmiin PowerShell palveluksi -esimerkin.
Klikkaa yksinkertaisesti "Luo esimerkistä" -painiketta.

Vaihe 3: Määritä polku .ps1-tiedostoosi
Avautuvassa ikkunassa sinun tulee määrittää oikeat polut:
- Suoritettavan tiedoston polku:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe - Työhakemisto:
Määritä kansio, jossa skriptitiedostosi sijaitsee - Argumentit:
-ExecutionPolicy Bypass -File "C:\Polku\Skriptiisi\Script.ps1"
Varmista, että polut vastaavat todellista PowerShell-asennustasi ja skriptin sijaintia.

Vaihe 4: Tallenna ja käynnistä palvelu
Klikkaa "Luo palvelu" luodaksesi Windows-palvelun.
Jos haluat, että palvelu käynnistyy välittömästi tällä tietokoneella, klikkaa "Käynnistä".
Tämän jälkeen PowerShell-skriptisi:
- Ajaa Windows-palveluna
- Käynnistyy automaattisesti järjestelmän mukana
- Selviää käyttäjien uloskirjautumisista ja istunnonvaihdoista
- On hallittavissa Windows-palvelujen hallinnan (
services.msc) kautta
Palvelun siirtäminen toiselle palvelimelle
Jos aiot siirtää palvelun konfiguraation toiselle Windows Server -palvelimelle, seuraa EXE Servicen virallisia siirtöohjeita, jotka löytyvät heidän dokumentaatiostaan.
Tämä lähestymistapa on erityisen hyödyllinen, kun otat käyttöön identtisiä konfiguraatioita useilla palvelimilla.
Yhteenveto
PowerShelliä ei rakennettu palveluksi — mutta työkalut kuten EXE Service ratkaisevat sen siististi. Kääri .ps1-skriptisi, ja se käynnistyy automaattisesti järjestelmän käynnistyessä, selviää uloskirjautumisista ja integroituu saumattomasti services.msc:n kanssa. Ei sotkuisia kiertoteitä, ei ajoitettujen tehtävien hakkerointia. Vain suoraviivainen, ylläpitäjille valmis ratkaisu.