Изпълняване на команди както System акаунта на Windows


Акаунтът System обикновено е забранен и не може да се използва директно. В някои случаи обаче е наложително да се изпълняват команди, използвайки правата на System, или поне това много улеснява работата. Пример за това е изследването на проблеми с правата на услуги, пуснати под Local System акаунта. Тъй като това е не може да се постигне с използването на RUNAS, има друг начин: създава се интерактивна услуга, която отваря команден промпт. После просто се пуска услугата - прозорецът изскача и е с привилегиите на System. Едно уточнение за потребителите с Remote Desktop: прозорецът се отваря в конзолната сесия, така че трябва да сте свързани към нея. Ето и кода:
 
@echo off
sc create CmdAsSystem type= own type= interact binPath= "cmd /c start cmd /k (cd c:\ ^& color ec ^& title ***** SYSTEM *****)"
net start CmdAsSystem
sc delete CmdAsSystem 

Източник: http://myitforum.com/cs2/blogs/jnelson/archive/2008/02/15/112673.aspx
 
Този похват ни помага да решим още един подобен проблем. Когато се закачат мрежови устройства под някаква буква, например \\otherserver\shared\folder като X:, те са видими единствено за потребителя, който ги е закачил. Така че ако услугата се опита да достъпи X:\, ще получи грешка, че пътят не е намерен. Така че използваме горnия начин:

sc create MountAsSystem type= own type= interact binPath= "cmd /c net use X: \\otherserver\shared\folder "
net start MountAsSystem
sc delete MountAsSystem 

Няма коментари

Обратно към списъка със статиите

Тази страница последно е променяна на 2024-04-29 02:50:31