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

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

  1. Cthulchu

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

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

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

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

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

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

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

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

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

                В Windows XP есть прекрасная справка.
                Пуск-Выполнить-hh ntcmds.chm
                 
                1 person likes this.
                1. 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)В примере выше ,если произойдет ошибка то скрипт отобразит сообщение об ошибке,если нет то не отобразит.
                   
                  1. SpangeBoB

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

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

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

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

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

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

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

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