Вопросы по CMD,BAT,PowerShell

Discussion in 'Windows' started by Cthulchu, 16 Jan 2009.

  1. Cthulchu

    Cthulchu Elder - Старейшина

    Joined:
    22 Nov 2007
    Messages:
    405
    Likes Received:
    720
    Reputations:
    85
    служба называется "Shell Hardware Detection" она заведует автораном.
    Нужно написать скрипт, который бы останавливал и отключал эту службу.
    Net stop не видит ее, нужно ее идентификатор, что бы нет стоп смог ее зацепить.
    ---
    Ага, вроди так:
    NET STOP "Shell Hardware Detection
    А как ее отключить или перевести в ручной режим?
    ---
    Ага, ручной режим и остановка службы меняется в реестре. Теперь следующий вопрос: где именно.
    ЗЫ
    пока жду ответа - продолжаю гуглить, как видите.
     
    #1 Cthulchu, 16 Jan 2009
    Last edited: 31 Mar 2009
  2. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    sc config ShellHWDetection type= disabled
     
    #2 SpangeBoB, 16 Jan 2009
    Last edited: 16 Jan 2009
    1 person likes this.
  3. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Пардон ошибся вместо type надо start= disabled
     
    1 person likes this.
  4. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Определение оборудования оболочки (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
     
    #4 SpangeBoB, 16 Jan 2009
    Last edited: 16 Jan 2009
  5. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Может так будет полегче,взять psexec ,пользователей попросить скачать файл.
    http://www.osp.ru/win2000/2004/06/177161/

    Если есть домен то можно через доменные политики назначить запуск службы.
    http://support.microsoft.com/kb/256345
     
  6. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    http://admilink.narod.ru/AdmiLink.Htm#WhyNotRunAs

    Вместо имени наверно можно подставить %computername%.
    По поводу ошибок надо проверять переменную %errorlevel%
     
  7. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Нагляднее пример из справка.

    В Windows XP есть прекрасная справка.
    Пуск-Выполнить-hh ntcmds.chm
     
    1 person likes this.
  8. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    1)Echo off
    Сам батник

    На экране получим только вывод Hello

    2)Echo on


    Вывод на экране


    C:\Users\>echo Hello
    Hello

    C:\Users\>pause
    Для продолжения нажмите любую клавишу . . .


    3)В примере выше ,если произойдет ошибка то скрипт отобразит сообщение об ошибке,если нет то не отобразит.
     
  9. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Да %errorlevel% это просто число,0 успешно, >0 не успешно.
     
  10. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    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
     
  11. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    psexec - 230kb
    cpau - 550kb
     
  12. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Да если имя русское ,то runas из скрипта его не отрабатывает,но если поставить chcp 1251 то хоть и кракозябры ,но имя правельно воспринимает.

    Твой скрипт рабочий,только немного с ошибкой.

    После 1 должно быть следующее выполнение,а у тебя перенос на новую строку.
    Если нужно с новой строкой,то взять в ()

    if errorlevel 1 (
    %windir%\System32\runas.exe /savecred /user:admin \\admin\scripts\bat.cmd
    )
     
    #12 SpangeBoB, 16 Jan 2009
    Last edited: 16 Jan 2009
  13. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Изменять соединение через 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 /?
     
    #13 SpangeBoB, 19 Jan 2009
    Last edited: 19 Jan 2009
  14. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Сдесь создается файл 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
     
  15. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    findstr /?
     
  16. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Только стороние решения или программы.Стандартных нет.Так что лучше взять vbscript ,который везде заведется =)
     
  17. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Чуть по легче скрипт для VBScript.

    И легко применяется в bat файле.

    cscript replace.vbs "C:\Scripts\Text.txt" "Jim " "James "

    Чтоб не таскать с собой 2 файла можно сделать bat:

     
    #17 SpangeBoB, 19 Jan 2009
    Last edited: 19 Jan 2009
  18. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Так что использую после второй скрипт ,с помощью cscript происходит запуск сценария после его отработки он удаляется.Любой vbscript,jscript запускать через cscript.exe

     
    #18 SpangeBoB, 20 Jan 2009
    Last edited: 20 Jan 2009
    1 person likes this.
  19. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Существует cscript.exe и wscript.exe,в твоей системе идет привязка к cscript.exe.Т.е выполнение команд и отчет об ошибках будет отображаться в командной строке.Поэтому при запуске бат файла создается временное окно,в котором и выполненяется сценарий.Wscript.exe не используется консольный вывод,а использует обычные окна сообщений среды.

    Для изменения сервера сценария(лучше не изменять):

    cscript //H:cscript(wscript) //nologo //s
     
    #19 SpangeBoB, 21 Jan 2009
    Last edited: 21 Jan 2009
    2 people like this.
  20. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    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 директория в корне.
     
    1 person likes this.