Windows 7. Скрипты, автоматизация и командная строка. Скрипты в командной строке windows


cmd - Скрипты Perl в Windows 10 запускаются из проводника, но не в командной строке

Я установил ActiveState Perl на моем новом ПК с Windows 10. Я установил ту же самую точную версию Perl на нескольких моих собственных компьютерах, и она установлена ​​на 100 ПК других пользователей в моей компании. То же точное установление, созданное мной.

Это первый раз, когда вы пытаетесь это сделать в Windows 10. Основные действия двойного щелчка на Perl script (*.pl) в Проводнике приводят к открытию окна консоли и Perl для запуска script.

Кроме того, в командной строке Windows я могу ввести perl.exe script.pl, а script работает нормально. Но, когда я просто набираю script.pl, ничего не происходит. В диспетчере задач нет выходных данных, ошибок, процессов perl.exe.

В первый раз, когда я запустил Perl script (из командной строки Windows, я полагаю, используя только синтаксис script.pl), Windows открыла окно с вопросом, какую программу я хотел использовать для открытия этого файла. Perl был по умолчанию, и я нажал OK.

Я никогда не видел этого окна в Windows 7 или 8, поэтому я думаю, что это что-то особенное для Windows 10, и что это то, что каким-то образом мешает мне просто набирать script.pl. Потому что, при запуске script.pl, мне нужно, чтобы ассоциации файлов выбирали правильную программу, но когда я набираю perl.exe script.pl, perl.exe запускается напрямую. Но, что Windows 10 "выбирает вашу программу по умолчанию", дело в том, что при запуске из командной строки происходит испорчение ассоциаций файлов.

Не 100% уверены, почему это работает из Explorer, но я уверен, что мне нужно очистить эту программу по умолчанию. Я удалил запись реестра для .pl файлов в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts, но это не помогло.

Это, по-видимому, более общая проблема с Windows 10 или, возможно, только с моей установкой, или с групповой политикой, о которой я не знаю.

Следующие команды (запускаемые в командной строке администратора) отлично работают в Windows 8.1, но не в Windows 10:

assoc .foo=Foobar ftype Foobar=C:\WINDOWS\system32\foo.bat %1 echo @echo off > foo.bat echo echo The filename is %1 >> foo.bat echo hi > foo.foo foo.foo

Результатом должен быть результат:

The filename is C:\WINDOWS\system32\foo.foo

Но Windows 10 ничего не делает. Кажется, что это позволяет подключать встроенные приложения таким образом, а не сценарии BAT для загружаемых/установленных EXE.

qaru.site

Командная строка Windows - Записная книжка IT-шника

С консолью в Windows работать не удобно до жути. Во-первых ей далеко до Линуксовой приятной и ну ооочень юзабельной командной строки, а во-вторых большенство програм для консоли в Windows морально и физически устарели и ничего нового появляться так и не планирует. Но администрировать все равно приходися, и нет другого лучшего друга для админа как консоль. А чтобы не забыть самому некоторые полезные мелочи и решения, и возможно научить юного читателя, случайно посетившого мой захудалый блог, этим самым мелочам, я и создал эту запись.

Перед началом работы

(кто знаком с  интерпретатором командной строки, может смело пропускать этот этап)

[Нажмите, чтобы прочитать]

Итак, команды можно писать в CMD, а можно записать их в текстовый файл с расширением *.BAT и запустить его на исполнение.Команда всегда запускается с входными пораметрами от %0 до %9. Причем в %0 лежит имя самой команды, а в %1-%9 переданные элементы разделенные знаком пробел (, для сдвига этих пораметров справа на лево используется команда shift).

Обращения к параметрам проходят вот так:
  • %1 - просто первый аргумент
  • %* - все аргументы
  • %~1 - первый аргумент с удалением кавычек ("колбаса" > колбаса)
Остальные параметры действуют, если только батнику передается имя файла (вызов типа klya.cmd dr.txt).
  • %~f1 - абсолютный путь к файлу
  • %~d1 - имя диска
  • %~p1 - имя каталога
  • %~n1 - имя файла (klya.txt > klya)
  • %~x1 - расширение файла (klya.txt > txt)
  • %~a1 - атрибуты файла
  • %~t1 - дата и время создания файла
  • %~s1 - размер файла
Что можно "побыстренькому" выполнить в командной строке? (например у меня рабочии скрипты представляют собой неких франкинштейнов из файлов и технологий)
  1. Другой исполняемый *.BAT файл (можно использовать команду call)
  2. Программу *.EXE (если хотим запустить ее в отдельном процесе то используем команду start)
  3. Файл скрипта Visual Basic Script *.VBS
  4. Функцию из DLL библиотеки. Для этого используем команду rundll32
  5. Файл установщика *.MSI. Для этого используем команду msiexec
rem - коментирование скрипта@ - если не хотим чтобы запуск команды отобразился в консолиecho on или echo off - включить или отключить отображение запуска командecho - вывод строки на экранecho. - перевод на новую строку> nul - если не хотим чтобы результат команды выводился на экран> - если хотим записать результат команды в файл>> - если хотим дописать результат команды в файл| - если хотим передать результат команды другой команде (конвеер)чтобы напечатать какой-нибудь особенный символ, например тотже "|", и не бояться, что он будет воспринят как конвеер, необходимо поставить перед ним символ крышечки "^|" и он будет воспринят именно как символ.

set <имя переменной>=<значение> - если хотим завести строковую переменнуюset /a <имя переменной>=<выражение для вычисления> - если хотим вычислить переменную по формулеset /p <имя переменной>=<строка> - если хотим задать переменную с консоли (строка - это текст приведствия перед вводом)set <имя переменной>= - если хотим удалить переменную%<имя переменной>% - обращение к переменной в тексте скрипта

Конструкция условия и его обработкиif <условие> (  <действие если условие истена>) else (  <действие если условие ложь>)Для условий советую исользовать конструкцию "%1"=="%2", если сравниваем строки без случайного вхождения символа ". В противном случае можно нарваться на неприятности. Например для сравнения путей к файлам я пользуюсь конструкцией _%1==_%2.

конструкция метки и перехода по метке:<метка> - объявляем меткуgoto <метка> - переходим на нее

Конструкция цыклаFOR /L %%i IN (<начало перебора>,<шаг перебора>,<конец перебора>) do %%i - обычный цвкл от и до FOR /R [<путь к папке>] %%i IN (*.avi) DO echo %%i - перебераем все AVI файлы в папке FOR /F "eol=; tokens=2,3* delims=, " %%i in (<имя файла>) do echo %%i %%j %%k - разбирает файл, пропуская все строки, которые начинаются с символа точки с запятой, и передает вторую и третью подстроки из каждой строки в тело цикла, причем подстроки разделяются запятыми и/или пробелами.Если помимо указаных параметров применить еще параметр "usebackq", то появится возможность перебрать в цыкле результат выполнения команды - FOR /F "usebackq" %%i in (`"echo %~1 | findstr %~2 %~3"`) do echo %%i, но я предпочитаю использовать другой вариант этой операции - FOR /F %%i in ('echo %~1 | findstr "%~2" %~3') do echo %%i. Результат такой же но зато есть возможность использовать символ двойных кавычер в дете исполняемой гоманды.

Это основные способы использования конструкции FOR, тонкости пожно почерпунть в хелпе.

Полезные команды

(что-то из этого, знают все, а что-то и подзабыли)

echo <текст> > <имя файла> - созадет файл с нужным текстом.erase (del) - удаление одного или нескольких файлов.copy (xcopy) - копирование одного или нескольких файлов.move (rename, ren) - перемещение и переименование файлов и каталогов.type (> con) - вывод на экране содержимого текстовых файлов. (а лучше использовать его совместно с more)edit - запуск редактора MS-DOS. Почему-то не все знают о его существовании.

find (findstr) - поиск текстовой строки в одном или нескольких файлах.

ping — утилита для проверки соединений в сетях на основе TCP/IP, а также обиходное наименование самого запроса.nslookup — утилита, предоставляющая пользователю интерфейс командной строки для обращения к системе DNS (проще говоря, DNS-клиент). Позволяет задавать различные типы запросов и запрашивать произвольно указываемые сервера.arp - отображение и изменение таблиц преобразования IP-адресов в физические, используемые протоколом разрешения адресов.net - пакет приложений предназначенный для работы с сетью.netstat - отображение статистики протоколов и текущих сетевых подключений TCP/IP.netsh (network shell) - программа, включенная в линейку продуктов операционных систем Microsoft Windows NT начиная с Windows 2000. Она позволяет осуществлять локальное или удаленное конфигурирование сетевых параметров. Поддерживает широкий спектр настроек сети, позволяет созавать и интерпритировать фалы скриптов, для накатывания сетевых настроек на ПК.[Пример использование команды]

Установка статического IP-адрес:

netsh interface ip set address local static 123.123.123.123 255.255.255.0

Добавить второй IP-адрес:

netsh interface ip add address local 234.234.234.234 255.255.255.0

Динамический IP-адрес:

netsh interface ip set address name="Local Area Connection" source=dhcp

Добавить первый DNS

netsh interface ip set dns "Подключение по локальной сети" static 192.9.0.100

Добавить второй DNS

netsh interface ip add dns "Подключение по локальной сети" 192.9.0.101

Добавить третий DNS.

netsh interface ip add dns "Подключение по локальной сети" 192.9.0.101 index=3

Отключение и включение сетевого интрефейса

netsh interface set interface name="Подключение по локальной сети 2" admin=DISABLED

netsh interface set interface name="Подключение по локальной сети 2" admin=ENABLED

chcp - меняет кодировку командного интерпретатора Windows NT cmd.exe. Очень часто нужно, чтобы вместо кодовой страницы cp866 (заданной по-умолчанию) данные были в cp1251 (команда chcp 1251) или в utf8 (chcp 65001).rundll32 - запуск стандартных команд-функций заложенных в dll.start /B - запуск программы в отдельном процессе без вызова окна консолиtaskkill /f /im - убивает оприделенный процесс. (А посмотреть список процесов можно командой tasklist)runas /noprofile /user:domain\admin cmd - запускает CMD от имени ADMIN в домени DOMAIN.

Использование PuTTy.exe

(нет инструмета для администрирования лучше PuTTy, а лучше использовать его совместно с PuTTY Connection Manager)

Параметры запуска PuTTy.exe из командной строки:-load <название сессии> - Загрузить сохраненную сессию. Если в названии сессии есть пробелы, оно заключается в кавычки.-ssh, -telnet, -rlogin, -raw - Выбор протокола соединения.-v - Выводить отладочную информацию.-l login - Задать логин.-pw MyPaSsWoRd - Задать пароль.-L, -D, -R - Включить перенаправление портов.[Пример перенаправления портов]#перенаправить локальный порт 5110 на порт 110 удаленного сервера-L 5110:popserver.example.com:110#перенаправить удаленный порт 5025 на порт 23 локального сервера-R 5023:mytelnetserver.myhouse.org:23-m script.file - Исполнить команду. Параметр - путь к тектовому файлу со списком команд, которые требуется исполнить. (для telnet не работает, проверенно)-P port - Задать порт для соединения, если он отличается от стандартного порта для заданного протокола.-X, -x - Включить(-X) или выключить(-x) перенаправление X в SSH.-T, -t - Выделять(-T) или не выделять(-t) псевдо-терминал при SSH соединении-N - Запретить запуск команды или командной оболочки. Актуально для перенаправления портов.-C - Включить сжатие данных.

Пример:"C:\path\to\putty.exe" -ssh -l user -pw mypassword -m shutdown.txt my.host.org

И все таки c *.BAT файлами лучше завязывать

(если вы всерьез решили работать с автоматизацией под Windows )

О мой юный подаван, если от Windows тебе никуда не деться, или ты чувствуешь в себе мазахистские позывы к работе под этой ОС. то лучше используй:
  1. Visual Basic Scripting Edition (*.vbs) -  скриптовый язык программирования, интерпретируемый компонентом Windows Script Host. Он широко используется при создании скриптов в операционных системах семейства Microsoft Windows.
  2. Windows PowerShell (*.ps1) - расширяемое средство автоматизации от Microsoft, состоящее из оболочки с интерфейсом командной строки и сопутствующего языка сценариев

viking-k.livejournal.com

Секреты командной строки Windows, часть 1.

К сожалению, благодаря ряду независящих от нас причин, командная оболочка cmd.exe до сих пор не утратила своей актуальности. Многие системные администраторы используют ее для управления своими задачами, при отсутствии на OS других средств, либо в силу привычки. Несмотря свою на простоту, командная строка обладает рядом интересных и неочевидных возможностей. В этом посте я постараюсь рассказать, о некоторых недокументированных либо малоизвестных возможностях командной строки Windows.

>> Beep из bat-файла.

В консоли Windows отсутствует команда заставляющая пищать системный динамик, но существует "недокументированный" символ (•) при выводе которого на экран консоли системный динамик издает звук. Чтобы ввести его нужно в текстовом редакторе набрать "Alt+7". Например: @echo •.

Проблема заключается в том что не все редакторы сохраняют такие символы, а по закону подлости ты оказываешься за компьютером, который, как раз без такового. Но и это можно обойти: запустим cmd.exe и в командной строке наберем @Echo,  нажав комбинацию Ctrl+G или "Alt+7" получим ^G далее перенаправим это все в файл, должно получиться @Echo echo ^G >beep.bat. Файл-пищалка готов.

>> Внутренний вызов команды CALL.

Из справочной документации Microsoft мы знаем, что команда Call - совершает вызов одного пакетного файла из другого, без завершения выполнения первого файла, но мало кому известно что при помощи Call можно перемещаться по внутренним меткам того же cmd/bat файла, подобно команде Goto. @Зачем это нужно, ведь есть goto?" - спросите вы. А затем, что помимо просто перемещения по меткам команда Сall имеет две особенности :

  1. "Умеет" возвращаться к месту своего вызова с помощью специальной метки :EOF.

  2. Умеет передававать значения в "подпрограмму". Поясню на примере:

@echo off

Rem Вызываем подпрогамму

call :SQRT 2

call :SQRT 8

pause

goto :EOF

rem а вот тут уже выходим см. ниже.

rem ***Начало подпрограммы.***

:SQRT

set /a outputval= %1*%1

echo Корень из %1 равен %outputval%.

goto :EOF

rem не выходим, но всего лишь возвращаемся на место за вызовом

rem ***Конец подпрограммы.***

После выполнения данного командного сценария получим такой вывод:

Красиво, не правда ли? Такая незаметная возможность, может сэкономить кучу строк кода, и на время может показаться, что мы программируем на полноценном скриптовом языке.

Да, стоит учесть еще и то что в подпрограмму можно передавать несколько аргументов, тогда обращаться к ним следует так же как и к аргументам командной строки %1, %2, %3 … и далее по порядку.

Символы экранирования в bat-файле.

Что если вам надо вывести  в консоль текст содержащий операторы или спецсиволы?

Например надо вывести: “%TEMP%”. Попробуем ввести в командную строку Echo %TEMP%.

Результат:

 

На консоль вывелось значение переменной %TEMP%. Совсем не то что нам надо…  Для таких случаев и существуют символы экранирования “^” и “%”. Достаточно его подставить перед спецсимволом и интерпретатор поймет что мы хотим вывести именно символ а не строку или выражение.Для проверки создадим батник:

@Echo off Echo съешь еще этих французских булок да выпей чаю ^ съешь еще этих французских булок да выпей чаю ^ съешь еще этих французских булок да выпей чаю ^ съешь еще этих французских булок да выпей чаю

Echo %%TEMP%%

Pause

Результат:

Как видим все работает и экономия кода на лицо.

Не смотря на то что в примере все отработало, с  экранированием в батниках надо быть более осторожным, не всегда все гладко, поэтому следует тестировать каждый скрипт.

На сегодня все, продолжение в другом посте.

admin-scripting.blogspot.com

Windows 7. Скрипты, автоматизация и командная строка – ScanLibs

Выражения

PowerShell позволяет составлять выражения, осуществляющие вычисления над числами и строками. Идеи точно такие же, как и те, которые вы видели в главе 2 «Руководство по VBScript». В табл. 15.6 перечислены операторы выражений. Все операторы работают с числовыми значениями. Как уже отмечалось, операторы + и * работают также и со строками. Авторы PowerShell также позаботились о при­сутствии ряда дополнительных операторов, которые, как вы увидите, изначально пришли из языка программирования С.

Сравнения с использованием массивов

Еще одно необычное свойство PowerShell заключается в том, что сравнения можно производить с массивами. Результатом сравнения массива с каким-нибудь значени­ем будет не ответ типа True или Fa lse , который можно было бы ожидать. PowerShell выполняет сравнение с каждым элементом массива и создает массив результатов, в котором содержатся элементы, прошедшие сравнение. Например:

Приоритетность операторов

Такое выражение, как 3+2*4, предписывает PowerShell заняться арифметикой, но оно может быть интерпретировано двояко: сложить 3 и 2, а затем умножить резуль­тат на 4 чтобы получить 20, или умножить 2 на 4, а затем сложить произведение с числом 3 чтобы получить 11. PowerShell использует вторую интерпретацию, поскольку следует правилам алгебры, которые гласят, что пока для изменения по­рядка вычисления не будут использованы круглые скобки, умножение имеет более высокий приоритет, чем сложение. Оператор умножения (*) связывает крепче, чем оператор сложения (+), поэтому значение 2*4 вычисляется первым. В следующем списке операторы PowerShell перечислены в порядке убывания их приоритета. Элементы, размещенные в одной и той же строке, имеют равный приоритет.

Хэш-таблицы

Проше всего представить себе хэш-таблицы в виде массива, чьи элементы иден­тифицированы по именам, а не по номерам их позиций. Элементы массива иден­тифицированы по номерам индексов 0, 1, 2, 3 и т. д., а элементы хэш-таблицы идентифицируются любым значением совершенно произвольного типа. Это может быть строка или число. По существу, у хэш-таблиц нет определенной «длины», то есть фиксированного диапазона номеров элементов. За исключением этого они работают точно так же, как и массивы. Пример хэш-таблицы, созданной в PowerShell, имеет следующий вид:

Но все же, зачем нам эти таблицы?

К чему возиться с хэш-таблицами? Неужели они настолько полезны при управ­лении компьютерами Windows или при выполнении других практических задач? Да! Для начала, как будет позже показано, они содержат аргументы, переданные командлету, поэтому ими нужно пользоваться при написании своих собственных командлетов. Но что более важно, они действительно полезны, когда перед вами стоит задача, включающая какой-нибудь подсчет, или когда нужно работать с про­извольными списками элементов любого типа. Если вам придется задуматься а) об использовании массива для хранения имен и некоторой другой информации, и б) об использовании цикла, чтобы посмотреть перед добавлением в массив кон­кретной записи, не присутствует ли эта запись в массиве, значит, у вас есть задача, которая, наверное, при использовании хэш-таблицы будет решена более простым способом. Соответствующий пример будет предоставлен в главе 16.

Другие типы коллекций

В PowerShell имеется доступ ко всем типам коллекций объектов, являющихся ча­стью платформы программирования .NET Framework. Кроме System.Collections.HashTab

scanlibs.com

Секреты работы с командной строкой в WINDOWS

Итак, консоль командной строки присутствует во всех версиях операционных систем Windows. Ранние версии ОС поддерживали режим MS-DOS напрямую, что позволяло выполнять простые команды прямо из консоли. Представители же семейства NT, такие как Windows 2000 или Windows Server 2003, работают уже совсем по другим принципам, однако MS-DOS в них тоже поддерживается, но через виртуальную машину (NT Virtual DOS Machine, NTVDM), что позволяет контролировать и администрировать системные ресурсы прямо из консоли командного режима. В качестве интерпретатора командного режима выступает программа cmd.exe, запуск которой осуществляется через меню «Start -> Run». Кроме того, для запуска консоли можно воспользоваться элементом меню «Start -> All Programs -> Accessories -> Command Prompt».

Запустив консоль командного режима, пользователь может управлять ресурсами как локальной системы, так и ресурсами удаленной машины. Существуют команды, выполняющие мониторинг системы и выявляющие критические места в настройках сервера. Отличием работы из командной строки является полное отсутствие больших и громоздких графических утилит. Программы командной строки позволяют более тонкую настройку в виде параметров-ключей, указанных справа от самой команды.

С помощью специальных файлов-скриптов (наборов команд, выполняющихся последовательно или в запрограммированном порядке) администратор может свести к минимуму выполнение рутинных ежедневных операций. Существующие современные утилиты могут запускать такие скрипты с заданной периодичностью без присутствия администратора системы.

Сам администратор может выполнять как одиночные команды, так и список команд, используя специальные управляющие символы (&, |). Например:

Команда 1 & Команда 2 — сначала будет выполненаКоманда 1 и только затем Команда 2;Команда 1 && Команда 2 — только после успешноговыполнения Команды 1 будет запущена Команда 2.Существует возможность перенаправить выводимый программой поток напрямую в текстовый файл для дальнейшей обработки. Для этого необходимо использовать управляющий символ «>» и имя текстового файла. Пример вывода содержания текущего каталога в текстовый файл Report.txt при помощи команды dir приведен ниже:

dir> Report.txtАдминистратор может запустить несколько копий консоли, вызвав в командной строке программу cmd.exe. Использование вложенной консоли позволяет работать с переменными окружения операционной системы без каких-либо последствий для всей системы в целом, так как после закрытия вложенной консоли изменения переменных окружения не сохраняются. Для контроля над этим процессом используются команды setlocal, endlocal и set.

В современных операционных системах существует множество команд и утилит. Запомнить такое количество различных программ, а тем более их параметровочень сложно, поэтому одним из самых важных параметров для каждой программы является сочетание символов /?. Выполнив команду с таким параметром, пользователь получит исчерпывающее сообщение о применении утилиты и синтаксисе ее параметров.

Обратите внимание, что на рисунке в левом верхнем углу следующей страницы использован сложный синтаксис. Так, сразу после команды shutdown /? после специального разделителя «|» идет команда more, что позволяет выводить информацию на экран не целиком, а определенными порциями, удобными для дальнейшего чтения.

Для того чтобы закрыть консоль командной строки, необходимо выполнить команду exit.

Кто здесь главный?По своим возможностям консольные программы делятся на:

команды управления операционной системой — это такие команды, как shutdown или taskkill;сетевые команды — net и ipconfig;команды для мониторинга системы — tasklist и systeminfo;команды для поддержки файловой системы — dir, mkdir, copy;команды для обслуживания жестких дисков — defrag и diskpart;команды для поддержки службы каталогов (Active Directories) — addrep и dsadd;вспомогательные команды, в этот раздел входят различные утилиты для создания сценариев, настройки принтеров, работы с переменными окружения и т. д.Рассмотрим типичных представителей каждой группы и позволим себе дать некоторые рекомендациями по использованию включенных в них команд.

Команды мониторинга и диагностики

Для выявления неполадок в аппаратной части и проблем с программным обеспечением предназначены команды мониторинга, такие как systeminfo и tasklist. Эти утилиты впервые появились только в операционной среде Windows Server 2003, поэтому администраторы еще не в полной мере оценили функциональные возможности этих команд. Так, например, теперь не надо залезать в закладку «Свойства» иконки «Мой компьютер» — команда systeminfo напечатает на экране консоли основную информацию обо всех компонентах системы с полной расшифровкой. Параметр /s выведет информацию о любом удаленном компьютере. Например, для выяснения конфигурации компьютера TESTSERVER необходимо выполнить следующую команду:

systeminfo /s TESTSERVERА утилита tasklist покажет процессы, запущенные на вашем компьютере.

Утилита tasklist позволяет опрашивать системы, соединенные в сеть. Параметр /v дает возможность получать подробные листинги с полезной информацией, в том числе и об именах пользователей, а параметр /т показывает процессы, загрузившие конкретный dll-файл. Другая полезная утилита — openfiles — позволяет получить информацию обо всех открытых файлах локальной и удаленной операционной системы. В прежних версиях операционных систем Windows приходилось использовать команду oh.exe, в современных версиях достаточно выполнить в командной строке консоли команду, которая устанавливает режим мониторинга для всех открытых файлов системы:

openfiles /local onПользователь получит информацию обо всех открытых файлах системы, используя команду с простым синтаксисом:

openfilesКоманда openfiles с параметрами /query /v показывает, какие пользователи запустили процессы, открывшие файлы. С помощью других параметров-ключей можно задать различный режим вывода информации.

Команды управления операционной системой

Windows Server 2003 предоставляет администраторам новые команды, которые помогают не только диагностировать систему, но и управлять ею. К таким командам можно отнести утилиту shutdown. В качестве параметров-ключей этой утилиты можно использовать следующие:

/s — полное штатное отключение системы;/г — перезагрузка;/р — выключение питания;/f — завершение работы активных приложений;/д — переход в режим пониженного энергопотребления;/I — завершение сеанса без отключения компьютера.В виде средства, регистрирующего все штатные выключения компьютера, выступает обработчик событий штатных выключений (Shutdown Event Tracker), который собирает и диагностирует все отключения, выполненные администратором. Также предусмотрена возможность выключать систему с указанием причины, для этого необходимо использовать ключ /d.

Команда taskkill, аналог команды kill в операционных системах семейства *nix, позволяет «убить» зависшее приложение. Совместно с командой tasklist эти утилиты представляют собой мощное средство для оперативного вмешательства в ход выполнения приложений, представляющих потенциальную угрозу для производительности сервера. Из параметров этой команды необходимо отметить ключ/pid, который позволяет завершать процесс по его уникальному идентификатору, и ключ /im — для завершения приложения с указанным именем. Следующий пример позволяет завершить процессы с идентификаторами 1000 и 1240:

taskkill /pid 1000 /pid 1240Команды для обслуживания жестких дисков

Оптимизацию жесткого диска позволяет выполнить команда defrag. Утилита умеет дефрагментировать диски с файловой системой FAT, FAT32 и NTFS. Defrag одинаково хорошо работает как с динамическим типом диска, так и с базовым. Синтаксис вызова этой команды следующий:

defrag диск [ -a j [ -f ] [ -v ] [ -? ]Параметр -а предусматривает только анализ информации на диске, параметр -f — оптимизацию информации, в том числе и при отсутствии необходимого дискового пространства для создания временных файлов, а параметр -v — вывод отчета о ходе оптимизации. Не забудьте, что для успешной дефрагментации диск должен содержать как минимум 15% свободного места.

Команда fdisk уже не поддерживается ядром операционной системы Windows Server 2003. На смену ей пришла команда diskpart, также предназначенная для обслуживания жестких дисков. Разбить диск на разделы, создать логические диски, удалить их — вот лишь некоторые задачи, решаемые этой утилитой. В основном команда diskpart ориентирована на работу со специальными файлами-сценариями, в которых описаны процедуры обслуживания жестких дисков. Вот как выглядит вызов этой команды для файла-сценария Scriptl.txt:

diskpart /s Scriptl.txtКаждая строка такого файла является инструкцией для какой-нибудь операции. Так, например, дает команду для создания нового раздела с определенным размером строка

create partition logical size=2048Сетевые команды

Среди сетевых команд хотелось бы выделить две утилиты. Первая — это команда ipconfig, вторая — netstat. Системные администраторы используют эти команды не только для мониторинга сети, но и для защиты от опасных программ, пытающих установить контроль над системой.

При помощи утилиты ipconfig пользователь может узнать сетевой адрес своего компьютера, а вызвав эту команду с параметром /all, получить полную информацию о конфигурации сети на локальном компьютере. Параметр /renew позволяет изменить сетевые настройки без перезагрузки всей системы в целом.

Если вы заметили, что с вашим компьютером происходит что-то неладное, то в этом случае поможет команда netstat, которая не только укажет на открытые сетевые порты, по которым злоумышленники могли подсоединиться к вашей системе, но и идентифицирует процессы, запущенные на сервере без вашего ведома. Так, ключ /о выводит информацию об идентификаторе процесса (PID), использующего то или иное сетевое соединение. Существует возможность посмотреть, какие компьютеры в сети взаимодействуют с вашей локальной операционной системой.

Команды для поддержки службы каталогов

Вся сеть состоит из компонентов и представляет собой сложную иерархическую структуру, построенную в виде дерева. Объектами такой системы являются сайты, подсети, серверы, компьютеры, группы, пользователи, контакты, разделяемые сетевые устройства.

Для мониторинга такой сложной структуры в операционной системе предусмотрена команда dsquery, которая предназначена для расширенного поиска компонентов службы каталогов. Также этой командой можно пользоваться для вывода информации о свойствах выбранных компонентов (ключ -attr). Параметры -scope, -subtree, -onelevel, -base определяют уровень вложенности поиска, а ключ -filter позволяет задействовать фильтр поиска.

Команда dsmod может помочь в случае необходимости модификации одной или нескольких учетных записей для выбранного компонента службы каталогов. Например, можно удалить пользователя из группы или назначить ему новый пароль. Пример изменения учетной записи для пользователя TestUser приведен ниже:

dsmod user"CN=TestUser,CN=Users,DC=bigtex,DC=net" -pwd Uf@tfmgerelt -mustchpwd yesКоманда dsmove перемещает объект в пределах текущего домена. При помощи ключей -newname и -newparent можно задавать новое имя объекта и менять его местоположение.

Команды для поддержки файловой системы

Описание некоторых часто употребляющихся команд для работы с файлами и директориями представлено в таблице. Команду deltree, которая выполняла каскадное удаление папок и файлов в них, заменяет теперь rmdir с ключом /s.

КомандаОписание

copyкопирует файлы

delудаляет один или более файлов

dirвыводит список файлов и поддиректорий в выбранном каталоге

findищет заданную подстроку в файлах

moveперемещает файлы

mkdirсоздает каталоги

rmdirпереименовывает и удаляет каталоги

treeвыводит иерархическое дерево всех файлов и поддиректорий в выбранном каталоге

Маленькие секреты большой системыИзменение приглашения для командной строки

Найдите в реестре ключ: [HKEY_LOCAL_MACHINESYSTEM CurrentControlSet ControfSession ManagerEnvironment] Создайте в этом ключе строковый параметр «PROMPT» с типом (REG_EXPAND_SZ) и присвойте одно из следующих значений:

$В — вертикальная черта «I»;$D — текущая дата;$G — знак больше «>»;$1_ — знак меньше « Command". Параметру Default ключа Command присвойте значение «cmd.exe /k cd "%1"».

Параметру Default ключа Command Prompt присвойте значение «Open Command Prompt".

Щелкнув правой кнопкой мыши на любой папке в Проводнике, можно выбрать команду Open Command Prompt, которая запустит консоль с командной строкой в нужной директории.

ЗаключениеНу, вот и все. Мы рассказали об основах работы с консолью. Дальше предоставляем вам возможность самим исследовать функциональность и многообразие консольных команд. Только не забывайте заветный ключ /?, а остальное придет со временем и опытом.

rootonly.ru

Windows 7. Скрипты, автоматизация и командная строка | Irokkezz.ru

Windows 7. Скрипты, автоматизация и командная строка - уникальная в своем роде книга Брайана Книттеля для системных администраторов, разработчиков программного обеспечения и опытных пользователей, в которой подробно рассмотрены средства автоматизации ОС Windows.

При помощи этой замечательной книги вы сможете научиться пользоваться пакетными файлами и языками написания сценариев, предоставляемыми Windows, узнать порядок использования утилит командной строки и объектов сценариев в качестве инструментария для решения повседневных задач.

Кроме того эта книга - своего рода справочное пособие для сотен программ командной строки и объектов сценариев, поставляемых вместе с Windows, а также введение в Windows PowerShell - новейшее средство Мiсrоsоft для автоматизации с использованием интерфейса командной строки.

Оглавление:

Об авторе Введение I. Создание сценариев с помощью Windows Script Host 1. Windows Script Host 2. Руководство по VBScript 3. Создание сценариев и работа с объектами 4. Доступ к файлам и реестру5. Сетевые и принтерные объекты6. Объекты сообщений и факсов 7. Инструментарий управления Windows8. Active Directory Scripting Interface9. Использование сценариев для управления компьютерами и сетями II. Среда окружения командной строки 10. Командная строка СМD11. Пакетные файлы для пользы и развлечения 12. Среда окружения MS DOS при работе под Windows 13. Утилиты командной строки III. Введение в Windows PowerShell 14. Windows PowerShell 15. Программирование в среде PowerShell16. Использование PowerShellIV. ПриложенияА. Справочник по VBScript Б. Справочник по языку СМD и пакетных файлов В. Указатель схем и учебных сценариев Г. Справочник по программам командной строки

Автор: Книттель Б.Год выпуска: 2012Формат: DjVuСтраниц: 776

Скачать Windows 7. Скрипты, автоматизация и командная строка | 7,48 Мб | .rar |

DepositFiles

irokkezz.ru