![]() |
Вопросы по CMD,BAT,PowerShell
служба называется "Shell Hardware Detection" она заведует автораном.
Нужно написать скрипт, который бы останавливал и отключал эту службу. Net stop не видит ее, нужно ее идентификатор, что бы нет стоп смог ее зацепить. --- Ага, вроди так: NET STOP "Shell Hardware Detection А как ее отключить или перевести в ручной режим? --- Ага, ручной режим и остановка службы меняется в реестре. Теперь следующий вопрос: где именно. ЗЫ пока жду ответа - продолжаю гуглить, как видите. |
sc config ShellHWDetection type= disabled
|
Спанч! огромное спасибо, но:
Код HTML:
C:\>sc config ShellHWDetection type= disabled |
Пардон ошибся вместо type надо start= disabled
|
да! КУЛ!!!! вот это жесть!!!! я просто часа 2 уже пытаюсь это сделать и пошел не по тому пути!!!!
sc config ShellHWDetection start= disabled РАБОТАЕТ!!! Спанч, а скажи как можно запустить комманду в цмд скрипте от имени администратора системы при том, что я знаю все возможные пароли администратора (их не больше 10). Правой кнопой по смдшнику и линку запустить от имени - не хочу, хочется, что бы оно было в скрипте. Тобишь, запускаю скрипт на "опытном пользователе", а он выполняет комманду от имени администратора системы. И еще, как теперь запустить службу, написать "start= enabled"? Так не работает. кул! --- а как эта служба называется в русской винде?))) |
Определение оборудования оболочки (Shell Hardware Detection)
Как видим опции enabled нет ,есть следующие start= <boot|system|auto|demand|disabled> Цитата:
http://www.joeware.net/freetools/tools/cpau/index.htm Посмотреть на будущее может пригодиться. http://www.osp.ru/win2000/2008/03/5042839/ Если службу надо просто запустить,то net start ShellHWDetection Если служба должна запускаться при старте sc config ShellHWDetection start= auto |
ага! да! сенк! скрипт я удачно дописал, что надо - нашел, служба называется "Определение оборудования оболочки" это можно в реестре посмотреть.
Теперь допустим, такая ситуация: В сети 2048 "опытных пользователей", есть, условно, одна расшареная на всех папка. И я хочу, что бы мой скрипт запустили все юзвери, высылаю им всем письмо с тем, что они должны запустить 1 раз такой-то файл в такой-то шаре (я админ и знаю админ доступы к каждой машине, но юзверям его знать совсем не нужно). Именно по этому, нужно, чтобы скрипт выполнял комманды от имени админа средствами мс винды НТ. Вроди, даже сузить диапазон осей до ХПшек СП2,3 можно. Я точно знаю, что run as можно впаять в батничек. Хотя бы двумя батниками, первый запускает второй от имени админа. runas -? пока смотрю... Наверное, проще двумя батниками... только надо воплотить схему запуска от администратора на любой машине, тобишь администратор находится на текущей, относительно запустившего скрипт, машине. И не плохо было бы запускать следующий батник из директории, из которой запущет текущий батник. Это если двумя батниками реализовать. То, что юзвери могут увидить хэш или даже пассворд админовский - не страшно ;) Но давать им такую инфу открыто - некорректно) |
Может так будет полегче,взять psexec ,пользователей попросить скачать файл.
http://www.osp.ru/win2000/2004/06/177161/ Если есть домен то можно через доменные политики назначить запуск службы. http://support.microsoft.com/kb/256345 |
ого, клево! домена нету, но уже давно пора)))
а на счет посторонних утилит, то перед тем как их использовать, нужно научиться это делать руками. Да и хочется доделать все в рамках двух батников, так как начал уже) есть такая строка: RunAs ("Administrator", @Computername, "adminpassword") На сколько я понимаю, она настраивает параметры запуска приложений в рамках текущей сессии. Только вот как поставить условие "If false" или "If error", не дать запуститься эррору и попробовать ввести другую комбинацию имени администратора и пароля. И за одно, как вместо имени машины сказать о том, что это current computer name? |
http://admilink.narod.ru/AdmiLink.Htm#WhyNotRunAs
Вместо имени наверно можно подставить %computername%. По поводу ошибок надо проверять переменную %errorlevel% |
а как проверять?))) как иф юзать правильно?
И, кстати, что такое -savecred ага, вот о сейвкред: Код HTML:
Использовать учетные данные, сохраненные пользователем.ща сам погуглю. |
Нагляднее пример из справка.
Цитата:
Пуск-Выполнить-hh ntcmds.chm |
спасибо большое, опробую. А ты не знаешь что такое... щас...
ехо офф - отключения вываода комманд на экран. эхо тыры пыры - вывод "тыры пыры" в окошко при выполнении. Вот только что этот скрипт будет делать, если иф не сработает, тоесть, если ошибка первого уровня таки возникнет? --- ладно, поигрался, клево все работает. Теперь осталось узнать errorlevel для ошибки авторизации. А %errorlevel% это значение параметра errorlevel, который эквивалентен коду последней ошибки? А как цикл сделать?))) |
1)Echo off
Сам батник Цитата:
2)Echo on Цитата:
C:\Users\>echo Hello Hello C:\Users\>pause Для продолжения нажмите любую клавишу . . . 3)В примере выше ,если произойдет ошибка то скрипт отобразит сообщение об ошибке,если нет то не отобразит. |
ага! эврика!
Код HTML:
ERRORLEVEL число Условие является истинным, если код возврата последнейОГО!!! Код HTML:
%windir%\System32\runas.exe /savecred /user:admin d:/bat.cmdтолько теперь в ран ез надо добавить пароли... и комбинации. Выйдет как раз около 27 комбинаций. А сколько у нас попыток. |
Да %errorlevel% это просто число,0 успешно, >0 не успешно.
|
ой, а в run as пароль вообще указать можно? Что-то меня убеждают, что нельзя. Ран ез при попытке логина юзера просит ввести ему пассворд этого юзера. А так сделать, что бы пассворд уже был в цмдшке и все работало - можно так?
|
Runas не может принять пароль как параметр,используй CPAU
http://windowsitpro.com/article/articleid/79293/jsi-tip-7258-cpau-freeware-is-a-runas-replacement-that-lets-you-specify-the-password-on-the-command-line.html |
да, я парочку таких утилит нашел, но мне лишь бы покомпактнее. Буду вводить сам руками. Потом, может, что-то придумаю.
Спанч! грац! у тебя 1 000 000 000 репы!)) не осмелюсь добавить еще, так как я не изверг - портить такое число) |
psexec - 230kb
cpau - 550kb |
да размер это дело десятое, я говорю о скорости работы. Уже оптимизировал. Почти все доделал. Такой прикол нашел - в скрипте не работает проверка еррорлевела, если я запускаю его с юзверского аккаунта с шары. Переделал пути скриптика на шару, с нее он запускает основной скрипт. Так вот, эррора при вводе не правильного имени админа нету.
Тобишь, я запускаю файло Код HTML:
%windir%\System32\runas.exe /savecred /user:admin \\admin\scripts\bat.cmdИ еще... что там такое... А! в последнем пункте, там где "администратор", вместо администратора оно запрашивает пассворд для пользователя, чье имя обезображено недоделаной кодировкой. Кавычки не спасают, помогите). |
Да если имя русское ,то runas из скрипта его не отрабатывает,но если поставить chcp 1251 то хоть и кракозябры ,но имя правельно воспринимает.
Цитата:
Цитата:
Если нужно с новой строкой,то взять в () if errorlevel 1 ( %windir%\System32\runas.exe /savecred /user:admin \\admin\scripts\bat.cmd ) |
Спанч и все желающие, продолжаем)) Чувствую, что страничке на 20й из этого всего склею пользовательский мануал на тему автоматизации рутинных действий с помощью цмд.
--- Вот теперь такой вопрос: как можно с помощю цмд скриптика поменять настройки сетевых подключений и впн, а точнее - в впн-соединении сменить целевой компьютер, который и есть основным серваком. (А точнее, его IP в настройках, так как физически мы меняем прова) И еще один важный вопрос, - как цмд скриптом редактировать реестр, в двух словах, дальше погуглю. И еще, службы можно отключать под пользователем но через реестр, обычные команды банятся ограничением доступа. ЗЫ Спанч, ты уже основной автор статьи) |
Изменять соединение через cmd способа пока нет,кроме как пред конфигурация соединения и его раздача.Для создания можно использовать http://technet.microsoft.com/en-us/library/cc739464.aspx
http://www.codecomments.com/archive300-2004-12-337789.html http://support.microsoft.com/kb/284269 http://www.isaserver.org/img/upl/vpnkitbeta2/cmak.htm 1)Смена ip,mask,gateway,dns можно воспользоваться утилитой netsh. netsh int ip set /? 2)По поводу реестра reg /? |
поп оводу реестра, потом разберусь, по поводу сетевых натсроек тсп/айпи - работает, прикольно. А вот с впном щас покажу что меня интересует - только пейнт докачаю)
отредактирую, покажу. http://img140.imageshack.us/my.php?image=vpnqp6.jpg вот. Идея в том, что бы в настройках впн-соединения на локальной машине поменять айпишник 127.0.0.257 на валидный. Скриптом. )) Это точно можно сделать, но вот как... Интересно было бы узнать где лежит файло с конфигом впн соединения, ведь можно только этот файлик пофиксить и все будет гуд. |
а можно еще попробовать убить существующее впн соединение и создать новое. только тогда придется вводить кроме айпишника сервера логин, пароль и тип коннекта.
блин, нагуглить инфу о том, как можно изменить существующее впн соединение цмд скриптом оказывается очень сложно, так и не получилось. |
Сдесь создается файл rasphone.pbk,который можно редактировать с помощью текстового редактора,там и можно сменить ip servra.
%SystemDrive%\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk Как вариант использовать vbscipt и заменить строку. http://www.tech-archive.net/Archive/Scripting/microsoft.public.scripting.vbscript/2004-03/0502.html |
ух! жжжесть!!!
спанч, а можно выполнять поиск по rasphone.txt ? с последующей заменой строки, в которой встретим старый айпишник на аналогичную строку, но с новым айпишником? Но ЦМД-скриптом. Извращаемся в цмд до конца) |
findstr /?
|
ага, а заменить? и нужно же показать какую на ккакую заменить...
|
Только стороние решения или программы.Стандартных нет.Так что лучше взять vbscript ,который везде заведется =)
|
не верю, что извратиться с цмд нельзя, (какой-то выход должен быть) но верю, что на ВБ это проще сделать, посему завтра - ВБ... эххх...
|
Чуть по легче скрипт для VBScript.
Цитата:
cscript replace.vbs "C:\Scripts\Text.txt" "Jim " "James " Чтоб не таскать с собой 2 файла можно сделать bat: Цитата:
|
Спанч, вот это ты жжешь! Скажи, а что значит строка
cscript replace.vbs "C:\Scripts\Text.txt" "Jim " "James "" а точнее, - что такое cscript? Хотя, у меня и без этой строки запустилось. Клево! --- а как запустить вб скрипт из-под цмд коммандой старт так, что бы следующая комманда после старта выполнялась только после того, как закончитт выполняться запускаемое приложение? Я вб скрипт еще не отладил, так что он пока не закрывается ;) |
Так что использую после второй скрипт ,с помощью cscript происходит запуск сценария после его отработки он удаляется.Любой vbscript,jscript запускать через cscript.exe
Цитата:
|
спанч, спасибо.
Но почему у меня вб скрипт запустился как вб скрипт коммандой start? Может инфа не совсем актуальна для MS Windows XP SP3? Там еще сборка зверевская Лего... Может в ней какие-то патчи... |
Существует cscript.exe и wscript.exe,в твоей системе идет привязка к cscript.exe.Т.е выполнение команд и отчет об ошибках будет отображаться в командной строке.Поэтому при запуске бат файла создается временное окно,в котором и выполненяется сценарий.Wscript.exe не используется консольный вывод,а использует обычные окна сообщений среды.
Для изменения сервера сценария(лучше не изменять): cscript //H:cscript(wscript) //nologo //s |
так, в тот раз я все прекрасно сделал и фортки перестали автоматом запускать автораны флех, сегодня с утра коллега приносит авторан и говорит, мол, зацени.
Это просто, элегантно и весело: Код:
[autorun]Код:
echo off Скрипт коллега писал для того, что бы сделать своему другу западло и поменять хостс.ини, сделав переадресацию с многих порно сайтов на локалхост. Сегодня вечером пошутит, а меня интересует следующее: Как сделать так, что бы ЦМДшное окошко не было видно при запуске. Гуглил. Запрос такой трудно нагуглить. --- И еще, как сделать так, что бы батничек, который запускался с какой-то директории выполнял change directory to current directory? В конце выполнения инфа и цмд, должна открываться директория флешки, но выполняются эти скрипты из флешки, тобишь надо в конце цмд выполнить explorer с данной директории, которая может варироваться. --- ключи для эксплорера: Код:
/e - Вид Проводника по умолчанию (двухпанельное), иначе выводится как однопанельное (как Папка). |
1) Окно cmd можно спрятать с помощью http://www.commandline.co.uk/cmdow/,команда
cmdow /run /hid mybat 2)change directory to current directory? -Это как сменить директорию на текущую,если мы и так в ней. 3)Если скрипты выполняются из корня,а открыть надо подпапку,то можно использовать for /F %%i in ('cd') do explorer "%%~dpi1" где 1 директория в корне. |
Спасибо, юзаю:)
А как создать "Патч Бармина" под виндовзХП, хочу поиздеваться над "Гостями гугловского ВиО" Вот доступное описание патча под никсы: _http://ru.wikipedia.org/wiki/Патч_Бармина |
| Время: 01:28 |