Bagaimana cara memulai layanan dengan parameter tertentu? Dalam pertanyaan lain yang saya temukan
net start servicename bla
tetapi jika saya mencoba ini, net
melempar kesalahan sintaks pada saya.
Apa yang saya lakukan salah?
Sunting: Untuk mengklarifikasinet start servicename
berfungsi dengan baik, tapi saya perlu memberikan parameter ke layanan. Saya dapat melakukan ini secara manualservices.msc
dengan mengisi parameter mulai sebelum memulai layanan. Tetapi bagaimana saya bisa melakukan ini dari naskah?
Suntingan lain: Maaf, tapi pertanyaan saya menyesatkan . Dalam pengujian saya, saya memiliki lebih banyak parameter dan itu bukan/blah
net start
keluhan. Bahkan, apa pun yang dimulai dengan garis miring tidak masalah . Jadinet start servicename /blah
bekerja,net start servicename blah
tidak berhasil. Karena saya butuhnet start servicename /foo bar
,bar
itulah masalahnya.
/
. Terima kasih banyak!NET START
tidak akan memungkinkan Anda untuk melewati parameter sewenang-wenang sejauh yang saya tahu (tampaknya mereka harus diawali dengan a /), saya percaya cara yang benar adalah dengan memodifikasi kunci registri yang sesuai dan menghentikan / memulai layanan. Dengan asumsi layanan khusus Anda disebut MyService:Sebenarnya, cara yang lebih baik adalah menyimpan konfigurasi Anda di suatu tempat yang diketahui oleh layanan, seperti mungkin sistem registri atau file, dan membaca nilai apa pun yang Anda butuhkan. Seperti yang Anda lihat menyesuaikan baris perintah sedikit lebih menyakitkan daripada yang seharusnya.
Jika ini kebetulan merupakan layanan yang dikembangkan .NET, Anda dapat membuat n salinan yang dapat dieksekusi pada sistem file Anda, dan masing-masing secara otomatis mendapatkan parameter dari file app.config yang sesuai.
Sepertinya Anda mungkin telah melangkah terlalu jauh di luar kotak Win32. Karena ini kedengarannya seperti pengembangan kustom, salah satu dari solusi lain yang ditawarkan, walaupun mungkin bukan yang ideal Anda, akan bekerja dengan benar dan merupakan cara yang lebih aman untuk dilakukan.
sumber
net start
tidak menerima parameter, tetapi hanya yang dimulai dengan a/
.sc.exe
. Lihat jawaban grawity (yang entah bagaimana berhasil saya lewatkan saat itu).Anda perlu garis miring sebelum setiap parameter saat menggunakan
net start
. Pastikan juga untuk mengutip parameter yang memiliki spasi.sumber
net start servicename /foo
untuk satu argumennet start servicename /"foo bar"
untuk string atau daftar argumenCatatan : Pertanyaan ini berumur 8 tahun tetapi saya tidak memiliki reputasi untuk mengomentari jawaban yang diterima dan ini masih merupakan hasil teratas Google pada tahun 2018 jadi saya ingin mengklarifikasi apa yang berfungsi sekarang sehubungan dengan pertanyaan edit terakhir.
sumber
:-)
Anda perlu menggunakan nama layanan yang sebenarnya seperti yang muncul di panel kontrol, layanan. Jika berisi spasi, Anda harus memberi tanda kutip di sekitar nama layanan.
Untuk mendapatkan nama layanan yang sebenarnya, ketikkan saja
net start
tanpa parameter apa pun pada prompt perintah. Seharusnya memberi Anda daftar semua layanan yang berjalan sehingga Anda bisa mendapatkan nama layanan yang sebenarnya. Maka gunakan sajanet start <servicename>
sumber
net start "my-service-name"
baik-baik saja. Itunet start "my-service-name" /blah
yang memberi saya pesan kesalahan. Saya juga sudah mencobanet start "my-service-name" -blah
dan ini juga merupakan kesalahan sintaksis.Bisakah InstSrv dan SrvAny membantu dalam hal ini? Panduan dan Tautan
sumber