it-swarm-tr.com

Windows 2008 Server'da .bat dosyası çalıştıran bir hizmet nasıl oluşturulur?

Hizmeti kullanarak oluşturdum

sc create myService binpath=myservice.bat

Ancak başlattığımda, aşağıdaki hata iletisiyle başarısız olur:

[SC] StartService FAILED 1053:
    The service did not respond to the start or control request in a timely fashion.

Win2k3'te Kaynak kitinden srvany.exe'yi kullandım, ancak win2k8 için kaynak kiti yok. Şu an için makineme srvany.exe'yi yükledim, ancak bunu yapmanın en iyi yolu olduğunu sanmıyorum.

Teşekkürler!

21
abyx

Tabii ki böyle bir hizmeti çalıştıramazsınız. 2008 sunucusunda srvany kullanmayı denediniz mi? Bildiğim kadarıyla s2k8 için srvany 'resmi' sürümü yok, ama her zaman deneyebilirsiniz, değil mi?

EDIT: Oh, unuttum! FireDaemon'u hizmet dışı uygulamaları hizmet olarak çalıştırmak için de kullanıyoruz. Yine de, ücretsiz değildir ve işlevselliği ihtiyaçlarınız için biraz fazladır.

9
shylent

Hizmet olarak bir .BAT veya eski bir .EXE dosyasını çalıştırmak için NSSM'yi kullanın. SRVANY için neredeyse bir yedek ve hiçbir fırfır hiçbir yaygara uygulama.

http://iain.cx/src/nssm/

Sizinle aynı sorunu yaşadım ve NSSM çalışan tek yardımcı programdı.

24
Matthew Blackford

Bilgisayar her başlatıldığında görevi çalıştırmak için Görev Zamanlayıcı kullanıyoruz (bir kullanıcı oturum açmış olsun veya olmasın)

8
Korayem

Bir .BAT dosyasını veya herhangi bir eski .EXE dosyasını hizmet olarak çalıştıramazsınız. Windows hizmetleri sizin için uygun değildir. Rasgele bir programı hizmet olarak çalıştırmak için Emici Olmayan Hizmet Yöneticisi (NSSM) veya Microsoft'un özgür olmayan SRVANY yardımcı programını kullanabilirsiniz, ancak çok fazla zarif davranış.

7
Evan Anderson

SC komutu sadece bir hizmet için gerekli kayıt defteri girdilerini ekler - belirttiğiniz dosya geçerli bir hizmet exe'si değilse, bir hizmete dönüştürülmez.

3
Whisk

bunu dene ... benim için çalıştı ...

sc create ServiceTest binpath= "C:\Windows\System32\cmd.exe /C C:\ServiceTest\Jenkins-Slave.bat"
2
Kushal Gangan

from: technet forumlarındaki bu yazı: http://social.technet.Microsoft.com/Forums/en-US/winserverMigration/thread/98a97aee-c62b-4683-94ab-3777899cf7de/

İşte yapmanız gerekenler ...

Bu kayıt sırasında Windows Server 2008 Kaynak Seti Araçları yoktur, bu nedenle "srvany.exe" dosyasını "Windows Server 2003 Kaynak Seti Araçları" ndan alın ve Win2008 sunucunuzda uygun bir konuma kopyalayın (örn. C:\Windows\System32 \). "Srvany" uygulamasını başlatan yeni bir hizmet oluşturmak için "sc" kullanın (örneğin, sc create MyService binPath = C:\Windows\System32\srvany.exe DisplayName = "Özel Hizmetim") RegEdit kullanarak: sizin için bir "Parametreler" anahtarı oluşturun hizmeti (örn. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\Paramaters \) RegEdit kullanarak: yeni oluşturulan "Parametreler" anahtarında, "Application" adlı bir dize değeri oluşturun ve çalıştırmak istediğiniz uygulamanın tam yolunu girin servis. (Tırnak işareti gerekmez.)

Ve bunu yapmalı.

Not: bazı uygulamalar ayarlarını HKEY_LOCAL_MACHINE altında olmayan bir kullanıcı Kovanında depolar, bu nedenle uygulamayı yapılandırmak için çalıştırmanız ve ardından hizmeti bu kullanıcı olarak çalışacak şekilde yapılandırmanız gerekir.

2
user1977194

windows schtasks kullandım.

buna başvurabilirsiniz. https://technet.Microsoft.com/en-us/library/cc725744.aspx#BKMK_hours

0
Yit Ming

Cüzdanınız için size ulaşmayacak iki seçenek daha buldum.

Daha sonra programınıza işaret eden sc başlat srvany olabilir. (StackOverflow - grumble'da yaptığım halde burada yeterince temsilcim olmadığı için bağlanamadığım bir forum yazısı var)

Orijinal posterin kullandığı adımlar şunlardır:

  1. sc uygulamasını başlatan yeni bir hizmet oluşturmak için srvany kullanın (ör. sc create MyService binPath=C:\Windows\System32\srvany.exe DisplayName="My Custom Service")
  2. RegEdit kullanarak: hizmetiniz için Parameters anahtarı oluşturun (ör. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\Parameters\)
  3. RegEdit: kullanarak yeni oluşturulan Parameters anahtarında, Application adlı bir dize değeri oluşturun ve hizmet olarak çalıştırmak istediğiniz uygulamanın tam yolunu girin. (Tırnak işareti gerekmez.)

Bu bir parça kesmek gibi görünüyorsa , işleminizi başlatmak için bir .NET hizmeti oluşturabilirsiniz. Birkaç adımı atlamak istiyorsanız, genel işlemleri başlatabilecek açık kaynaklı bir .NET hizmeti:

http://www.codeproject.com/KB/system/xyntservice.aspx

İhtiyaçlarınıza göre düzenleyin, ancak kutudan istediğinizi yapın.

0
databyte

Ben bunun üzerine tökezledim. İşte Bat_To_Exe_Converter adlı araç. Herhangi bir .bat dosyasını .exe dosyalarına dönüştürmek çok kolaydır. Dene. Önce indiriciyi indirin ve ardından Bat_To_Exe_Converter otomatik olarak indirilecektir. Gerçekten .bat dosyamı .exe aracılığıyla çalıştıran hizmet oluşturmama yardımcı oldu. http://download.cnet.com/Bat-To-Exe-Converter/3001-2069_4-10555897.html?spi=eae5ab48292cc101b5f0ec370cf99ad

0
Ilya