|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
службу устанавливал батником C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe C:\Srvc_MOF_Slime_Total_Production\Srvc_MOF_Slime_Total_Production\bin\Debug\Srvc_MOF_Slime_Total_Production.exe pause пытаюсь батником ее перезапустить net stop "ServiceMOFSlimeTotal"; sc start "ServiceMOFSlimeTotal"; pause остановить он её может. а вот запустить уже нет. как решить? net start не работает ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 09:14 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
DoomUnitостановить он её может. а вот запустить уже нет. как решить? У любого NT Service есть DACL -таблица где расписаны права для пользователей/ групп пользователей (также как и для файлов/папок и для ключей реестра) Скорее всего у текущего пользователя отсутствует право SERVICE_START. Проверь под админом. DoomUnitкак решить? Либо под админом запускать (хотя в общем случае у него тоже может не быть прав). Если для штатного пользователя, я даже не знаю как это ручками делается, скорее всего есть какая-то утилита, кот. надо запускать под админом. Если по документации MSDN-Windows, то типа так (чтоб представлял сложность задачи): Ниже пример кода API-VB6, в .Net я это еще не разбирал: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107.
Есть ли в .Net соответствующие классы для Service, и насколько они неглючные/удобные я еще не выяснял. Задача кстати на очереди в ближайшие дни. Ты б выяснил "на пальцах" хоть как-то сначала что у тебя не хватает (кто владелец сервиса, какие у кого права, под каким аккаунтом запускаешь). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 10:50 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
млин я уже с таким сталкивался (я про рестарт). там работало на ура. но есть нюанс - там я использовал установочник visual studio. и батник лежал в папке с программой (в программ файлс). а тут я примонтировал сервис силами InstallUtil. кст система - WinServer 2003. сама служба запущена от локальной системы. а про права - если бы прав текущему пользователю не хватало (сижу под админом), то ему бы не хватало прави остановить сервис. а ошибка видать от того что сервис нужно стандарными средствами ставить и батник ему в папку кидать. еще видел способ с использованием sc create. но это уж совсем для отмороженных ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 11:09 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
так опять же службу же видно в службах. нужно как то путь указать ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 11:13 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
DoomUnit, >а про права - если бы прав текущему пользователю не хватало (сижу под админом), то ему бы не хватало прави остановить сервис. Вообще-то SERVICE_START и SERVICE_STOP - это разные права доступа, твое утверждение в общем случае неверно. И если ты админ, это еще в общем случае не значит, что у тебя есть права на что-то. Владельцем объекта может быть напр. TrastedInstaller, а у админа при этом права только на чтение. >для отмороженных Ну, либо ты себя морозишь и разбираешься со всеми ньюансами, хотя бы применительно к твоей задаче, либо ты смотришь глазами недоуменного пользователя и плюешься. Я тебе совет дал: найди любой способ посмотреть права на объект. К сожалению сделать это как с файлами и папками через свойства - безопасность нельзя. Ну, м.б. у тебя какой другой глюк, кто его знает. Но я бы не принебрег проверкой прав. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 12:14 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
ну тогда есть ли разница прав у командной строки и батника? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 12:22 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77, кстати есть одна фича веселая :) для службы можно задать пустые права, то есть права доступа для изменения прав службы и прочего не будет ни у кого, даже у систем. Вернуть обратно штатными средствами я так и не понял как. Можно только сбросить ACL для всех служб по умолчанию. сбрасывал через subinacl /perm с соответствующим ключам и именем службы, по крайней мере так было в XP =) и 7 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 12:35 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
DoomUnit, зависит из какого "окружения" они были запущены и с какими права. если ты запустил просто батник и запустил командную стоку с повешенными правами это имеет существенную разницу :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 12:38 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
net stop "ServiceMOFSlimeTotal" net start "ServiceMOFSlimeTotal" pause без точек с запятой ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 12:45 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
DoomUnit, по поводу как посмотреть-поменять права вот наверно разжевано: Раздаем права на запуск/остановку сервисов под Windows вообще ощущение, что в чем-то другом проблема. Когда нет прав, увидишь следующее: Системная ошибка 5. Отказано в доступе. И никакого Start_Pending не увидишь. Че-то ты глючное поставил, что запуститься никак не может. >net stop "ServiceMOFSlimeTotal"; >sc start "ServiceMOFSlimeTotal"; А че за манера использовать две разные утилиты, когда одной достаточно. Хотя на результат не влияет. >если ты запустил просто батник и запустил командную стоку с повешенными правами это имеет существенную разницу Не на 2003-м сервере, когда он сидит на нем с правами администратора. На Vista - 7-8-8.1, Server 2008-2008R2-2012-2012R2 -да. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 13:48 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
net stop "ServiceMOFSlimeTotal" net start "ServiceMOFSlimeTotal" pause без точек с запятой ------------------------- это и есть решение ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 14:05 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Чтоб тем не плодить. Правильно понимаю что в .Net есть RegistrySecurity Class FileSecurity Class Но нету аналога для NT Service? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 18:19 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Знаете, Дмитрий, я уже не один год разрабатываю сервисы и вообще пишу на .net, но ваши вопросы ставят меня в тупик. Мне ни разу не приходилось сталкиваться с проблемами, которые вы тут постите на форуме. Ваши темы - это какой-то глоток новизны на этом форуме. Не то, чтобы сильно полезной и актуальной, но новизны - это точно :-) По сабжу: если речь идет о самописной службе, а не чужой, проще написать экзешник, который умеет сам себя инсталлировать и деинсталлировать, а под кем запускаться - решается установкой соответствующих свойств в инсталлерах (ServiceInstaller, ServiceProcessInstaller) - 11611062 . Главное - чтобы пользователь, который запускает экзешник, имел право на А управлять службами можно с помощью ServiceController ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 18:30 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Arm79, >если речь идет о самописной службе, а не чужой считайте что чужой -произвольной уже установленной в системе -назовем ее так >А управлять службами можно с помощью ServiceController Start/Stop -да, если есть права А я спрашиваю как раз о правах, т.е. об объектах безопасности. В API как раз с этим проще - т.е. модель универсальна, а различия только в типах объектов. SE_OBJECT_TYPE enumeration А модель универсальна. В .Net есть отдельные классы-обертки (для отдельно взятого типа объекта): RegistrySecurity Class FileSecurity Class А вот ServiceSecurity Class что-то я не вижу, про него и был вопрос. Но видимо такого нет, иначе б был здесь: System.Security.AccessControl Namespace Хотя вижу какие-то общие ObjectSecurity и CommonObjectSecurity но скорее всего это не то. В принципе вопрос можно снимать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 19:31 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77>если речь идет о самописной службе, а не чужой считайте что чужой -произвольной уже установленной в системе -назовем ее так >А управлять службами можно с помощью ServiceController Start/Stop -да, если есть права Я бы начал копать в сторону запуска процессов от имени другого пользователя с гарантированно имеющимися правами, например: ShellExecute(this.Handle, "open", "cmd.exe", @"/k runas /netonly /user:sed@ateks.local /"net start service1"/", null,1); (не мое, и при копировании мог с кавычками накосячить) или через CreateProcessAsUser ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 19:56 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Хотя... NativeObjectSecurity Class ResourceType Enumeration Members Service A Windows service. Надо попробовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 19:59 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Arm79, ну мы о разных вещах говорим. Вы предлагаете делать старт от имени другого пользователя (администратора, например). А я например хочу проверить, может ли данный пользователь ("user") делать этот самый старт сервиса. Или скажем дать этому "user" это самое право. Не понимаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 20:10 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77Arm79, ну мы о разных вещах говорим. Вы предлагаете делать старт от имени другого пользователя (администратора, например). А я например хочу проверить, может ли данный пользователь ("user") делать этот самый старт сервиса. Или скажем дать этому "user" это самое право. Не понимаете? Почему не понимаю, все норм. Вопрос только в том, что .net это приклад, и нет смысла делать с его помощью системные и админские штучки ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 20:23 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Arm79, >net это приклад, и нет смысла делать ну зачем эти отмазки нашел же.. 17112967 чего рассуждать, будем пробовать по делу ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 20:32 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77Хотя... NativeObjectSecurity Class ResourceType Enumeration Members Service A Windows service. Надо попробовать. Если я правильно понял, то готового класса нету, Inheritance HierarchySystem.Object _ System.Security.AccessControl.ObjectSecurity _ _ System.Security.AccessControl.CommonObjectSecurity _ _ _ System.Security.AccessControl.NativeObjectSecurity _ _ _ _ System.IO.Pipes.PipeSecurity _ _ _ _ System.Security.AccessControl.CryptoKeySecurity _ _ _ _ System.Security.AccessControl.EventWaitHandleSecurity _ _ _ _ System.Security.AccessControl.FileSystemSecurity _ _ _ _ System.Security.AccessControl.MutexSecurity _ _ _ _ System.Security.AccessControl.ObjectSecurity(Of T) _ _ _ _ System.Security.AccessControl.RegistrySecurity _ _ _ _ System.Security.AccessControl.SemaphoreSecurity а я должен писать свой: Код: vbnet 1. 2. 3.
По аналогии с готовыми RegistrySecurity Class FileSecurity Class Так? Если да, то как это делается? Опыта нет и рука не набита. Где посмотреть исходники RegistrySecurity/FileSecurity Если можно подскажите на VB.Net а не на C#, синтаксис таки отличается. Ну если есть желание помогать осваивать ваш язык. Если опять тупые дискуссии не по теме, забиваем и оставляю это на API чтоб не тратить время. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 23:32 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77Если я правильно понял, то готового класса нету, пичалька.... а windows.h почему-то всё есть ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 23:40 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77Где посмотреть исходники RegistrySecurity/FileSecurity 1) Можно дизассембляторами, например http://www.devextras.com/decompiler/ 2) Куча исходников .net выложена самим майкрософтом в и-нете, но там на шарпе: http://referencesource.microsoft.com/#mscorlib/system/security/accesscontrol/filesecurity.cs,52b99e3f0aeeb82d ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 23:47 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Изопропилпичалька.... а windows.h почему-то всё есть А причем тут windows.h? Ты мне на .Net разжуй то что я спросил. Или нафига тут сидишь и язвишь с советами что C++ лучше? Вот именно на этом форуме? Через API я тебе сам в 2 щелчка это сделаю и без C++. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 00:07 |
|
|
start [/forum/topic.php?fid=20&msg=38852895&tid=1402027]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 135ms |
0 / 0 |