Опрос
Вы участвуете в программе Windows Insider?
Популярные новости
Обсуждаемые новости

Представляем Monad, новую командную строку MSH (Часть 1)

Напечатать страницу
21.01.2006 01:31 | swissglide

Данная статья является первой в цикле обзоров новой командной строки Windows, Monad, так же известной как MSH Command shell.

Monad - процессор команд следующего поколения для ОС Windows. Построенный на базе .NET Framework, MSH является сильным средством для автоматизации различных задач администрирования системы.

Было бы нечестно рассматривать MSH как простое продолжение старого процессора команд (cmd.exe), корни которого уходят еще в MS-DOS. Действительно, хотя MSH это по сути та же "консоль", у нее есть серьезные дополнительные возможности, например возможность работы в контексте MMC (Microsoft Management Console). При разработке MSH были учтены последние разработки в области структуризации данных и администрирования ОС.

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

Воспроизводимость и последовательность - две основные характеристики MSH. Управление отдельной машиной сегодня - задача отнюдь не трудная; Windows предлагает хорошо организованный графический интерфейс параметров настройки и конфигурации, а Terminal Services упрощает задачу настройки сервера, расположенного на другом краю света. К сожалению, не все так безоблачно - администрирование двух машин занимает уже вдвое больше времени, чем одной, а десяти - в десять.

К счастью, существуют такие службы, как SMS (System Management Server - прим. перев.), облегчающие работу в рамках предприятия и WSH (Windows Scripting Host), служащий для автоматизации часто используемых задач.

Monad не является полноценным языком программирования, как например C# и C++, но содержит в себе достаточно мощные инструменты для написания скриптов.

MSH поддерживается целым тремя из ныне существующих ОС:
Windows XP SP2
Windows Server 2003
Windows Vista (бывший Code Name Longhorn)

Для работы Monad так же необходимо установить .NET Framework 2.0 redistributable, SDK или Visual Studio 2205.
Скачиваем Monad.
Все, что может понадобится для установки Monad, можно найти в сети Интернет. Следуя ниже изложенной инструкции, вы легко отыщите все необходимые компоненты.1. Скачайте и установите .NET Framework 2.0 с msdn.microsoft.com/netframework/downloads/updates/
2. В нашем архиве утилит, вы всегда найдете последнюю версию Monad.
3. Все!

Итак, начнем работу.

Синтаксис Verb-Noun (Глагол-Существительное - прим. перев.) и CMDlets.
Как мне это сделать?
Большинство команд в MSH представляют из себя пару "глагол-существительное", разделенную дефисом. Глагол описывает действие (напр. get или set), а существительное - его цель (process или location). Стандартный набор глаголов покрывает большинство задач (get, set, add, remove).
Нет ничего ценнее опыта. "Лучший способ научится - это начать пользоваться". Эта народная мудрость полностью применима к процессу освоения MSH. Начните с простых задач - посмотреть текущий список заданий или папок, а потом переходите в экспериментам. Не стоит, правда, забывать о том, что некоторые CMDLets могут нанести вред при неверном применении. Например, если дать команду на удаление всех ваших файлов, MSH их удалит. Специально для новичков в MSH есть параметр - WhatIf, который переводит строку в режим, когда она только говорит вам что бы было сделано при вводе соотв. команды, но ничего не делает.

Начнем с запуска. Из меню Пуск выберите Run (Выполнить) и наберите MSH. Откроется окно консоли с приветствием:

Microsoft Command Shell   
    Copyright (C) 2005 Microsoft Corporation. All rights reserved.
    MSH D:MshScripts>



Первая команда.
Построим список активных процессов.

MSH D:MshScripts> get-process

Handles  NPM(K)    PM(K)      WS(K) VS(M)   CPU(s)     Id ProcessName
    -------  ------    -----      ----- -----   ------     -- -----------
        119       6      996       3336    31     0.22   1844  alg
        602      12    10408      15816    64    18.96   1656  CcmExec
        409       5     1648       3364    22    16.23    464  csrss
        273      11     7376      12696    55   340.16    212  explorer
          0       0        0         16     0               0  Idle
        146      11     3532       7284    61     2.90   1264  InoRpc
        110       5    11136      12404    60     9.33   1316  InoRT
        107       5     2820       6244    53     4.22   1332  InoTask
        405      10     4404        528    41    11.66    544  lsass
        290      12    33948      32208   175    14.90   3088  msh




Заметим так же, что команда get-process может работать с параметром -Exclude, который настраивает фильтр процессов.
Попробуем найти все процессы, имя которых начинается на букву w, за исключением тех, первыми тремя буквами в именах которых являются win.

Handles  NPM(K)    PM(K)      WS(K) VS(M)   CPU(s)     Id ProcessName
    -------  ------    -----      ----- -----   ------     -- -----------
        125       4     1300       3624    23     0.82    320  wmiprvse
        137       4     3388       4156    25     1.36   1920  wmiprvse



Что такое cmd-апплеты (CMDLets).
CMDLets (произносится как "command-lets") это одна из основ функциональности MSH. Они могут быть как очень простыми, так и очень сложными, но все они служат одной цели - эффективному исполнению поставленной задачи. CMDLets - это как-бы мини-программы внутри MSH, каждая из которых отвечает за определенную функцию командной строки.

Как я могу узнать больше?

CMDLet get-help - это портал в мир обновленной системы помощи Monad. Если вы введете просто имя CMDLet, откроется страница синтаксиса.

M

SH D:MshScripts> get-help get-process
    NAME
        get-process
    SYNOPSIS
        Gets a list of processes on a machine.
    DETAILED DESCRIPTION
        The get-process Cmdlet gets a list of the process running on a machine
        and displays it to the console along with the process properties.
        This command also supports the ubiquitous parameters:
        -Debug (-db), -ErrorAction (-ea), -ErrorVariable (-ev)
        -OutBuffer (-ob), -OutVariable (-ov), and -Verbose (-vb)
    SYNTAX
        get-process [-ProcessName] [processName] [-Id processId]



Вызов get-help без параметров вызовет содержание справки. Конкретную информацию о команде можно получить, введя название раздела справки или CMDLet после get-help.

Данная выдержка из книги приводится с разрешения O'Reilly Media Inc., все права защищены.
Продолжение следует...

Источник: http://www.computerworld.com
Перевод: swissglide

Комментарии

Комментариев нет...
Для возможности комментировать войдите в 1 клик через

По теме

Акции MSFT
420.55 0.00
Акции торгуются с 17:30 до 00:00 по Москве
Все права принадлежат © ms insider @thevista.ru, 2022
Сайт является источником уникальной информации о семействе операционных систем Windows и других продуктах Microsoft. Перепечатка материалов возможна только с разрешения редакции.
Работает на WMS 2.34 (Страница создана за 0.029 секунд (Общее время SQL: 0.014 секунд - SQL запросов: 51 - Среднее время SQL: 0.00027 секунд))
Top.Mail.Ru