Rularea ca serviciu Windows pogramma - administratori pe forum

Am pus pe un server vindovyh portat de sub FreeBSD firewall ipfw. cu excepția faptului că a atras Poser - focuri de artificii autoplay cu normele necesare pentru mine. regula implicită el neagă tot. și că știi - chiar și PDR nu este angajată. Iar regulile sunt încărcate de cmd-script. așa că a trebuit să căutăm modalități de ieșire a problemei. Internetul a dat peste un articol. care ma ajutat foarte mult, așa că am răspândit aici pentru toată lumea să vadă (desigur, cu modificările mele mici, care au fost necesare din config meu).

Există situații în care este necesar pentru a rula un anumit program ca un serviciu, și anume, a se asigura că acesta este rulat automat atunci când sistemul este pornit, indiferent - utilizatorul este conectat sau nu.
În mod ideal, putem crea un dosar, de exemplu:
c: \ autorun și pune BAT-fișiere în ea, etichete, etc. În acest caz, toate aceste lucruri vor fi rulate la pornirea sistemului. Aproape ca dosarul de pornire.

Deci Pentru a începe, avem nevoie de programul srvany.exe și InstSrv.exe. incluse în Instrumente pentru Windows Server Resource Kit 2K3 de pe site-ul Microsoft sau aici

Descărcați și instalați kit-ul de resurse. Ne scoate de acolo și srvany.exe InstSrv.exe. Mai mult, pentru comoditate, vom presupune că srvany.exe InstSrv.exe și suntem în folderul c: \ autorun \ bin. Creați același runatsart.bat (încă gol).
La termenul de comandă este scris:

c: \ autorun \ bin \ instsrv RunAtStart c: \ autorun \ bin \ srvany.exe


stabilindu-se astfel SrvAny ca un serviciu numit RunAtStart. Puteți merge la lista de servicii și de a verifica acest lucru. Mai departe. Creați un fișier .reg:

Windows Registry Editor Version 5.00

# 91; HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ RunAtStart # 93;
"DisplayName" = "RunAtStart"
„Descriere“ = „comenzi personalizate rula la Sistemul de pornire“


Să acorde o atenție la linia:

Importiruruem creat un fișier de la registru. După aceea, ne-am stabilit nou creat de serviciu RunAtStart modul de executare automată.

Acum este momentul pentru a edita RunAtStart.bat. conținutul său ceva de genul:

@echo off
dacă% 1. ==. Goto% 2
setlocal
chcp 1251

set log = c: \ autorun \ logs \ RunAtSart.log
set rundir = c: \ autorun \ run

echo RunAtStart: Rularea la .ate %% time% >>% log%
pentru %% I în (% rundir% \ *. *) suna% 0. do_run „%%

ni "" %% I "
RunAtStart net stop

Goto EOF
: do_run
echo Run:%

Două variabile log rundir si pot fi modificate pentru a se potrivi cerințelor dumneavoastră (nu uitați să creați sootvetsstvuyuschie cataloage sunt acum gata pentru a reporni sistemul, uita-te în dosarul c: ... \ Autorun \ busteni \ RunAtSart.log vezi acolo data de încărcare a sistemului și o listă de a rula ei înșiși programe. programe pe ecran vom vedea șansa de a le vedea, nu avem :( maximă pe care o putem face - .. pentru a vedea managerul lor sarcină și acolo pentru a finaliza punerea în aplicare a acestora.

tot acest mecanism este după cum urmează:

Serviciul RunAtStart (srvany.exe) este pornit la pornirea sistemului
la rândul său, acesta pornește un parametru predeterminat (în registru), comanda: c: \ windows \ cmd.exe / c RunAtStart.bat
RunAtStart.bat rulează toate fișierele din directorul c: \ autorun \ run

Important! În mod implicit, programul începe numele de utilizator al sistemului, astfel încât pot exista probleme cu drepturile, în special pe unități de rețea.
programe pot rula această metodă nu este printat pe ecran orice întrebări, mesajul de invitație, apăsați OK și etc. Datorită faptului că noi nu suntem capabili de a interacționa cu un program care rulează, caseta de dialog cu întrebarea, ea va aștepta răspunsul utilizatorului. Noi nu știam despre asta. De aceea, de exemplu, BAT-fișiere, aveți nevoie pentru a evita comanda de pauză, este adesea adăugat la depanare, și să aplice în schimb structura:

în cazul în pauză definit de utilizator


Cu toate acestea, la momentul respectiv, puteți activa depanare casetă de selectare Se permite sevice interacționa cu Spațiul de lucru în setările de serviciu. Acest lucru ne va permite să vedem ferestrele programelor care rulează și de a interacționa cu ei.

Notă: Scoateți serviciul specificat utilizând următoarea comandă:

c: \ autorun \ bin \ instsrv RunAtStart elimina


Nu sunt răzbunător, eu doar eu de multe ori aleg busteni