Показать полную графическую версию : Создание сервиса в windows server 2008
есть у нас такая задача: файлы, попадающие в определенную папку, должны перемещаться в различные папки. Для это написал батник, который с этой задачей успешно справляется. Не понравилось только то, что окно cmd постоянно висит. для этого с помощью гугла нашел как запихнуть этот батник в сервисы виндоуса (с помощью утилит instsrv.exe и srvany.exe)
http://forum.oszone.net/thread-82144.html
проверил у себя на компе (windows 7 64 bit). все работает на ура, сервис запускается и батник постоянно работает и окна не видно. тоже самое делаю на сервере (windows server 2008 standart edition 64 bit). сервис запускается, вроде батник в процессах висит, но ничего не делает, ничего не копирует и не перемещает. при этом если я запускаю сам батник, то он работает без проблем. думаю, может есть что-то, что необходимо подправить, о чем я не знаю... буду рад любым идеям.
Не понравилось только то, что окно cmd постоянно висит. »
Можно просто скрыть окно с помощью утилиты nircmd. И запускать как службу не понадобится. Еще можно воспользоваться одним из многих сортировщиков файлов.
проверил у себя на компе (windows 7 64 bit). все работает на ура, сервис запускается и батник постоянно работает и окна не видно. тоже самое делаю на сервере (windows server 2008 standart edition 64 bit). сервис запускается, вроде батник в процессах висит, но ничего не делает, ничего не копирует и не перемещает. »
Ну наверное нужен сам батник, чтобы разговор был предметным.
дело не только в том, что окно мозолит глаза, а в том, что если сделать логоф, то батник ведь остановится... или я не прав!??!
... на счет nircmd почитаю, спасибо...
не знаю, за чем вам смотреть батник, ведь он сам работает нормально, когда его непосредственно запускаешь, а вот через сервисы - не работает... но все же выложу ... их 2, один использует второй
первый new1.bat
@echo off
rem Время ожидания
@SET vaxt=15
rem Папка источник
@SET papka1=c:\test\copyfrom\
rem Целевая папка
@SET corvus1=c:\test\copyto1
rem Целевая папка
@SET temenos1=c:\test\copyto2
:test
@sleep %vaxt%
FOR %%f IN (%papka1%*.*) DO CALL c:\test\new2.bat %%f %corvus1% %temenos1%
@goto test
... и второй new2.bat
@echo off
:test1
@copy %1 %2
@if not errorlevel 0 goto test1
@move %1 %3
дело не только в том, что окно мозолит глаза, а в том, что если сделать логоф, то батник ведь остановится... или я не прав!??! »
Запускать такой батник нужно под локальной учеткой Администратора, и ничего там останавливаться не будет.
не знаю, за чем вам смотреть батник, »
Да мало ли там у вас чего написано. :) Теперь вижу что особо ничего мудреного не написано. С какой учетной записи стартует ваша служба? Если это "Системная учетная запись" то есть ли у нее права на выполнение действий указанных в батнике? Попробуйте стартовать службу с той учетной записи, под которой запускаете его вручную.
если не ошибаюсь, то в 2008r2 есть политика безопасности отвечающая за запуск бат файлов, кстати их рекомендуют всеж делать не в бат а cmd
у нас не стартовал батник запускающий 1с с прописаным сервером и базой пока не дали прав пользователям на запуск батника на терминальном сервере
кстати есть еще утилита RunasSpc которая позволяет запускать что угодно от любой учетки, пароль не светится записываясь в криптованый файл, впрочем, как и что откуда запускать
политику безопасности не нашел... если знаете, ткните носом... думаю не в этом дело, потому как сам батник непосредственно вполне корректно работает... пробовал cmd , та же проблема... пробовал запускать от имени админа...
пробовал другие проги создания сервиса, типа AppToService.exe ... странно то, что сервис сам по себе никаких ошибок не выдает, в процессах висит, но не отрабатывает... даже не знаю, куда копать :-((
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.