Войти

Показать полную графическую версию : Создание сервиса в windows server 2008


JAVA
27-09-2010, 15:11
есть у нас такая задача: файлы, попадающие в определенную папку, должны перемещаться в различные папки. Для это написал батник, который с этой задачей успешно справляется. Не понравилось только то, что окно cmd постоянно висит. для этого с помощью гугла нашел как запихнуть этот батник в сервисы виндоуса (с помощью утилит instsrv.exe и srvany.exe)
http://forum.oszone.net/thread-82144.html

проверил у себя на компе (windows 7 64 bit). все работает на ура, сервис запускается и батник постоянно работает и окна не видно. тоже самое делаю на сервере (windows server 2008 standart edition 64 bit). сервис запускается, вроде батник в процессах висит, но ничего не делает, ничего не копирует и не перемещает. при этом если я запускаю сам батник, то он работает без проблем. думаю, может есть что-то, что необходимо подправить, о чем я не знаю... буду рад любым идеям.

ZOOBR
27-09-2010, 15:43
Не понравилось только то, что окно cmd постоянно висит. »

Можно просто скрыть окно с помощью утилиты nircmd. И запускать как службу не понадобится. Еще можно воспользоваться одним из многих сортировщиков файлов.

проверил у себя на компе (windows 7 64 bit). все работает на ура, сервис запускается и батник постоянно работает и окна не видно. тоже самое делаю на сервере (windows server 2008 standart edition 64 bit). сервис запускается, вроде батник в процессах висит, но ничего не делает, ничего не копирует и не перемещает. »

Ну наверное нужен сам батник, чтобы разговор был предметным.

JAVA
27-09-2010, 16:00
дело не только в том, что окно мозолит глаза, а в том, что если сделать логоф, то батник ведь остановится... или я не прав!??!
... на счет 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

ZOOBR
27-09-2010, 16:15
дело не только в том, что окно мозолит глаза, а в том, что если сделать логоф, то батник ведь остановится... или я не прав!??! »

Запускать такой батник нужно под локальной учеткой Администратора, и ничего там останавливаться не будет.

не знаю, за чем вам смотреть батник, »
Да мало ли там у вас чего написано. :) Теперь вижу что особо ничего мудреного не написано. С какой учетной записи стартует ваша служба? Если это "Системная учетная запись" то есть ли у нее права на выполнение действий указанных в батнике? Попробуйте стартовать службу с той учетной записи, под которой запускаете его вручную.

inxss
27-09-2010, 20:55
если не ошибаюсь, то в 2008r2 есть политика безопасности отвечающая за запуск бат файлов, кстати их рекомендуют всеж делать не в бат а cmd
у нас не стартовал батник запускающий 1с с прописаным сервером и базой пока не дали прав пользователям на запуск батника на терминальном сервере
кстати есть еще утилита RunasSpc которая позволяет запускать что угодно от любой учетки, пароль не светится записываясь в криптованый файл, впрочем, как и что откуда запускать

JAVA
28-09-2010, 10:32
политику безопасности не нашел... если знаете, ткните носом... думаю не в этом дело, потому как сам батник непосредственно вполне корректно работает... пробовал cmd , та же проблема... пробовал запускать от имени админа...
пробовал другие проги создания сервиса, типа AppToService.exe ... странно то, что сервис сам по себе никаких ошибок не выдает, в процессах висит, но не отрабатывает... даже не знаю, куда копать :-((




© OSzone.net 2001-2012