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

Содержание

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

Поделиться

Книттель Брайан «Windows 7.Скрипты, автоматизация и командная строка» Питер, 2012 год, 778 стр., ISBN: 978-5-459-00656-8; (7,6 мб. djvu + samples)

В книге описаны современные инструменты для рационализации и автоматизации задач управления операционными системами Windows 7 и Windows Vista. Никаких мышек! Только командная строка и ввод с клавиатуры. Известный эксперт по Windows Knittel Brian собрал вместе все необходимые средства автоматизации : VBScript, Windows Scripting Host (WSH), традиционные пакетные файлы, продвинутые команды Microsoft PowerShell. Описанные приемы и методики избавят вас от рутинной,повторяющейся работы. Издание рекомендовано опытным пользователям, системным администраторам и разработчикам программного обеспечения.

Оглавление книги

Содержание

Часть I. Создание сценариев с помощью Windows Script Host
Глава 1. Windows Script Host
Глава 2. Руководство no VBScript
Глава 3. Создание сценариев и работа с объектами
Глава 4. Доступ к файлам и реестру
Глава 5. Сетевые и принтерные объекты
Глава 6. Объекты сообщений и факсов
Глава 7. Инструментарий управления Windows
Глава 8. Active Directory Scripting Interface
Глава 9. Использование сценариев для управления компьютерами и сетями

Часть II. Среда окружения командной строки
Глава 10. Командная строка CMD
Глава 11. Пакетные файлы для пользы и развлечения
Глава 12. Среда окружения MS-DOS при работе под Windows
Глава 13. Утилиты командной строки

Часть III. Введение в Windows PowerShell
Глава 14. Windows PowerShell
Глава 15. Программирование в среде PowerShell
Глава 16. Использование PowerShell

Часть IV. Приложения
Приложение А. Справочник по VBScript
Приложение Б. Справочник по языку CMD и пакетных файлов
Приложение В. Указатель схем и учебных сценариев
Приложение Г. Справочник по программам командной строки

СкачатьDJVU+samples

Похожая литература

993

https://www.htbook.ru/kompjutery_i_seti/operacionnye_sistemy/windows-7-ckripty-avtomatizaciya-i-komandnaya-strokahttps://www.htbook.ru/wp-content/uploads/2019/01/windows-7-ckripty-avtomatizaciya-i-komandnaya-stroka.jpg

https://www.htbook.ru/wp-content/uploads/2019/01/windows-7-ckripty-avtomatizaciya-i-komandnaya-stroka.jpg

Операционные системыWindows,руководствоПрактическое руководство для системных администраторов.
Книттель Брайан ‘Windows 7.Скрипты, автоматизация и командная строка’ Питер, 2012 год, 778 стр., ISBN: 978-5-459-00656-8; (7,6 мб. djvu + samples)
В книге описаны современные инструменты для рационализации и автоматизации задач управления операционными системами Windows 7 и Windows Vista. Никаких мышек! Только командная строка и ввод с. ..Сергей ПупкинСергей
Пупкин[email protected]Техническая литература

Поделиться

Создание и выполнение скриптов — Configuration Manager


  • Статья



Относится к Configuration Manager (Current Branch)

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

Примечание.

В версии 2006 и более ранних Configuration Manager не включает эту необязательную функцию по умолчанию. Перед ее использованием необходимо включить эту функцию. Дополнительные сведения см. в разделе Включение дополнительных функций из обновлений.

Благодаря этой интеграции в Configuration Manager вы можете использовать функцию Запуска скриптов для выполнения следующих действий:

  • Создание и изменение скриптов для использования с Configuration Manager.
  • Управление использованием скриптов с помощью ролей и областей безопасности.
  • Выполнение скриптов на коллекциях или отдельных локальных управляемых компьютерах с Windows.
  • Получение быстрых агрегированных результатов скрипта с клиентских устройств.
  • Мониторинг выполнения скрипта и просмотр результатов отчетов из выходных данных скрипта.

Предупреждение

  • Учитывая возможности скриптов, мы напоминаем вам, что вы должны быть преднамеренными и осторожными с их использованием. Мы встроили дополнительные меры безопасности, чтобы помочь вам; разделенные роли и области. Обязательно проверьте точность скриптов перед их выполнением и убедитесь, что они из надежного источника, чтобы предотвратить непреднамеренное выполнение скриптов. Помните о расширенных символах или другом запутывании и узнайте о защите скриптов. Дополнительные сведения о безопасности сценариев PowerShell
  • Некоторые антивредоносные программы могут непреднамеренно активировать события для Configuration Manager запуска скриптов или функций CMPivot. Рекомендуется исключить %windir%\CCM\ScriptStore, чтобы программное обеспечение для защиты от вредоносных программ позволяло выполнять эти функции без вмешательства.

Предварительные требования

  • Для запуска сценариев PowerShell на клиенте должна быть запущена оболочка PowerShell версии 3.0 или более поздней. Однако если выполняемый скрипт содержит функциональные возможности из более поздней версии PowerShell, клиент, на котором выполняется скрипт, должен работать с этой версией PowerShell.
  • Configuration Manager клиенты должны запускать клиент из выпуска 1706 или более поздней версии, чтобы выполнять скрипты.
  • Чтобы использовать сценарии, необходимо быть членом соответствующей роли безопасности Configuration Manager.
  • Для импорта и создания скриптов ваша учетная запись должна иметь разрешения на созданиескриптов SMS.
  • Чтобы утвердить или отклонить скрипты. Ваша учетная запись должна иметь разрешения на утверждениескриптов SMS.
  • Для выполнения скриптов ваша учетная запись должна иметь разрешения на выполнение скрипта для коллекций.

Дополнительные сведения о Configuration Manager ролях безопасности:Области безопасности для сценариев выполненияРоли безопасности для сценариев запускаОсновы ролевого администрирования.

Ограничения

Запуск скриптов в настоящее время поддерживает:

  • Языки сценариев: PowerShell
  • Типы параметров: целое число, строка и список.

Предупреждение

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

Запуск авторов и утверждающих скриптов

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

Управление ролями скриптов

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

Утверждение или отклонение скрипта

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

  1. В консоли Configuration Manager щелкните Библиотека программного обеспечения.
  2. В рабочей области Библиотека программного обеспечения щелкните Скрипты.
  3. В списке Скрипт выберите сценарий, который требуется утвердить или отклонить, а затем на вкладке Главная в группе Скрипт нажмите кнопку Утвердить или отклонить.
  4. В диалоговом окне Утверждение или отклонение скрипта выберите Утвердить или Запретить для скрипта. При необходимости введите комментарий о своем решении. Если вы отклоните скрипт, его нельзя будет запустить на клиентских устройствах.
  5. Завершите работу мастера. В списке Скрипт столбец Состояние утверждения изменится в зависимости от выполняемого действия.

Разрешить пользователям утверждать собственные скрипты

Это утверждение в основном используется на этапе тестирования разработки скрипта.

  1. В консоли Configuration Manager щелкните Администрирование.
  2. В рабочей области Администрирование разверните узел Конфигурация сайта, а затем щелкните Сайты.
  3. В списке сайтов выберите свой сайт, а затем на вкладке Главная в группе Сайты щелкните Параметры иерархии.
  4. На вкладке Общие диалогового окна Свойства параметров иерархии снимите флажок Авторы скриптов требуют дополнительного утверждающего скрипта.

Важно!

Рекомендуется не разрешать автору скриптов утверждать собственные скрипты. Это должно быть разрешено только в параметре лаборатории. Внимательно изучите возможные последствия изменения этого параметра в рабочей среде.

Области безопасности

При выполнении скриптов используются области безопасности, существующая функция Configuration Manager, для управления написанием и выполнением скриптов путем назначения тегов, представляющих группы пользователей. Дополнительные сведения об использовании областей безопасности см. в статье Настройка администрирования на основе ролей для Configuration Manager.

Создание ролей безопасности для сценариев

Три роли безопасности, используемые для выполнения скриптов, не создаются по умолчанию в Configuration Manager. Чтобы создать средства выполнения скриптов, авторы скриптов и роли утверждающих скриптов, выполните описанные действия.

  1. В консоли Configuration Manager перейдите в раздел Администрирование>ролей безопасности.>
  2. Щелкните роль правой кнопкой мыши и выберите команду Копировать. Копируемой роли уже назначены разрешения. Убедитесь, что вы принимаете только нужные разрешения.
  3. Присвойте настраиваемой роли имя и описание.
  4. Назначьте роли безопасности разрешения, описанные ниже.

Разрешения ролей безопасности

Имя роли: средства выполнения скриптов

  • Описание. Эти разрешения позволяют этой роли выполнять только сценарии, ранее созданные и утвержденные другими ролями.
  • Разрешения: Убедитесь, что для следующих элементов задано значение Да.
CategoryРазрешениеСостояние
СборЗапустить сценарийДа
SiteЧтениеДа
Скрипты SMSЧтениеДа

Имя роли: авторы скриптов

  • Описание. Эти разрешения позволяют этой роли создавать скрипты, но они не могут утверждать или запускать их.
  • Разрешения. Убедитесь, что заданы следующие разрешения.
CategoryРазрешениеСостояние
СборЗапустить сценарийНет
SiteЧтениеДа
Скрипты SMSCreateДа
Скрипты SMSЧтениеДа
Скрипты SMSУдалитьДа
Скрипты SMSИзменениеДа

Имя роли: утверждающие скрипты

  • Описание. Эти разрешения позволяют этой роли утверждать скрипты, но не могут создавать или запускать их.
  • Разрешения: Убедитесь, что заданы следующие разрешения.
CategoryРазрешениеСостояние
СборЗапустить сценарийНет
SiteЧтениеДа
Скрипты SMSЧтениеДа
Скрипты SMSУтвердитьДа
Скрипты SMSИзменениеДа

Пример разрешений скриптов SMS для роли авторов скриптов

Создание скрипта

  1. В консоли Configuration Manager щелкните Библиотека программного обеспечения.
  2. В рабочей области Библиотека программного обеспечения щелкните Скрипты.
  3. На вкладке Главная в группе Создать щелкните Создать скрипт.
  4. На странице Скрипт мастера создания скриптов настройте следующие параметры:
    • Имя скрипта — введите имя скрипта. Хотя можно создать несколько скриптов с одинаковыми именами, использование повторяющихся имен затрудняет поиск нужного скрипта в консоли Configuration Manager.
    • Язык сценариев . В настоящее время поддерживаются только скрипты PowerShell.
    • Импорт — импорт скрипта PowerShell в консоль. Скрипт отображается в поле Скрипт .
    • Очистить — удаляет текущий скрипт из поля Скрипт.
    • Скрипт — отображает импортированный скрипт. Скрипт в этом поле можно изменить при необходимости.
  5. Завершите работу мастера. Новый скрипт отображается в списке Скрипт с состоянием Ожидание утверждения. Перед запуском этого скрипта на клиентских устройствах необходимо утвердить его.

Важно!

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

Параметры скрипта

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

В диалоговом окне Создание скрипта щелкните Параметры скрипта в разделе Скрипт.

Каждый из параметров скрипта имеет собственное диалоговое окно для добавления дополнительных сведений и проверки. Если в скрипте есть параметр по умолчанию, он будет перечислен в пользовательском интерфейсе параметра, и его можно задать. Configuration Manager не перезаписывает значение по умолчанию, так как никогда не изменяет скрипт напрямую. Это можно представить как «предварительно заполненные предлагаемые значения» в пользовательском интерфейсе, но Configuration Manager не предоставляет доступ к значениям по умолчанию во время выполнения. Это можно обойти, изменив скрипт, чтобы иметь правильные значения по умолчанию.

Важно!

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

Проверка параметров

Каждый параметр в скрипте имеет диалоговое окно Свойства параметра скрипта , в которое можно добавить проверку для этого параметра. После добавления проверки вы должны получить ошибки, если вы вводите значение для параметра, который не соответствует его проверке.

Пример

: FirstName

В этом примере можно задать свойства строкового параметра FirstName.

Раздел проверки диалогового окна Свойства параметра скрипта содержит следующие поля для использования:

  • Минимальная длина — минимальное количество символов поля FirstName . A-Z] его в поле RegEx .

    Обработка регулярных выражений для этого диалога поддерживается платформа .NET Framework. Рекомендации по использованию регулярных выражений см. в разделах Регулярные выражения иязык регулярных выражений .NET.

    Примеры скриптов

    Вот несколько примеров, иллюстрирующих скрипты, которые можно использовать с этой возможностью.

    Создание папки и файла

    Этот скрипт создает новую папку и файл в папке с учетом входных данных именования.

    Param(
    [Parameter(Mandatory=$True)]
    [string]$FolderName,
    [Parameter(Mandatory=$True)]
    [string]$FileName
    )
    New-Item $FolderName -type directory
    New-Item $FileName -type file
    

    Получение версии ОС

    Этот скрипт использует WMI для запроса к компьютеру версии ОС.

    Write-Output (Get-WmiObject -Class Win32_operatingSystem).Caption
    

    Изменение или копирование скриптов PowerShell

    Вы можете изменить или скопировать существующий скрипт PowerShell, используемый с функцией запуска скриптов . Вместо того, чтобы воссоздать скрипт, который необходимо изменить, теперь измените его напрямую. Оба действия используют тот же интерфейс мастера, что и при создании нового скрипта. При редактировании или копировании скрипта Configuration Manager не сохраняет состояние утверждения.

    Совет

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

    Изменение скрипта

    1. Перейдите в узел Скрипты в рабочей области Библиотека программного обеспечения .
    2. Выберите скрипт для редактирования, а затем нажмите кнопку Изменить на ленте.
    3. Измените или повторно вставьте скрипт на странице Сведения о скрипте .
    4. Нажмите кнопку Далее , чтобы просмотреть сводку , а затем закрыть после завершения редактирования.

    Копирование скрипта

    1. Перейдите в узел Скрипты в рабочей области Библиотека программного обеспечения .
    2. Выберите скрипт для копирования, а затем нажмите кнопку Копировать на ленте.
    3. Переименуйте скрипт в поле Имя скрипта и внесите дополнительные изменения, которые могут потребоваться.
    4. Нажмите кнопку Далее , чтобы просмотреть сводку , а затем закрыть после завершения редактирования.

    Запуск сценария

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

    Чтобы выбрать коллекцию целевых объектов для сценария, выполните приведенные ниже действия.

    1. В консоли Configuration Manager щелкните Активы и соответствие.
    2. В рабочей области Активы и соответствие щелкните Коллекции устройств.
    3. В списке Коллекции устройств выберите коллекцию устройств, на которых требуется запустить скрипт.
    4. Выберите коллекцию по своему усмотрению и нажмите кнопку Запустить скрипт.
    5. На странице Скрипт мастера выполнения скриптов выберите скрипт из списка. Отображаются только утвержденные скрипты.
    6. Нажмите кнопку Далее, а затем завершите работу мастера.

    Важно!

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

    Выполнение целевого компьютера

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

    Мониторинг скриптов

    После запуска скрипта на коллекции устройств используйте следующую процедуру для мониторинга операции. Вы можете отслеживать скрипт в режиме реального времени по мере его выполнения, а затем вернуться к состоянию и результатам выполнения заданного скрипта выполнения. Данные о состоянии скрипта очищаются в рамках задачи обслуживания Удаления устаревших операций клиента или удаления скрипта.

    1. В консоли Configuration Manager щелкните Мониторинг.

    2. В рабочей области Мониторинг щелкните Состояние скрипта.

    3. В списке Состояние скрипта отображаются результаты для каждого скрипта, запущенного на клиентских устройствах. Код выхода скрипта 0 , как правило, указывает на успешное выполнение скрипта.

    Выходные данные скрипта

    Вывод возвращаемого скрипта клиента с помощью форматирования JSON путем отправки результатов скрипта в командлет ConvertTo-Json . Формат JSON последовательно возвращает доступные для чтения выходные данные скрипта. Для сценариев, которые не возвращают объекты в качестве выходных данных, командлет ConvertTo-Json преобразует выходные данные в простую строку, возвращаемую клиентом вместо JSON.

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

    • Избегайте возврата больших выходных данных скрипта, так как они усечены до 4 КБ.

    • Преобразуйте объект перечисления в строковое значение в скриптах, чтобы они правильно отображались в формате JSON.

    Подробные выходные данные скрипта можно просмотреть в необработанном или структурированном формате JSON. Это форматирование упрощает чтение и анализ выходных данных. Если скрипт возвращает допустимый текст в формате JSON или выходные данные могут быть преобразованы в JSON с помощью командлета PowerShell ConvertTo-Json , то подробные выходные данные отображаются как выходные данные JSON или Необработанные выходные данные. В противном случае единственным вариантом является вывод скрипта.

    Пример. Выходные данные скрипта можно преобразовать в допустимый JSON

    Команды: $PSVersionTable.PSVersion

    Major  Minor  Build  Revision
    -----  -----  -----  --------
    5      1      16299  551
    

    Пример. Выходные данные скрипта недопустимый JSON

    Команды: Write-Output (Get-WmiObject -Class Win32_OperatingSystem).Caption

    Microsoft Windows 10 Enterprise
    

    Файлы журнала

    • На клиенте по умолчанию в C:\Windows\CCM\logs:

      • Scripts.log
      • CcmMessaging.log
    • В mp по умолчанию в C:\SMS_CCM\Logs:

      • MP_RelayMsgMgr.log
    • На сервере сайта по умолчанию в папке C:\Program Files\Configuration Manager\Logs:

      • SMS_Message_Processing_Engine.log

    Автоматизация с помощью Windows PowerShell

    Для автоматизации некоторых из этих задач можно использовать следующие командлеты PowerShell:

    • Approve-CMScript
    • Deny-CMScript
    • Get-CMScript
    • Invoke-CMScript
    • New-CMScript
    • Remove-CMScript
    • Set-CMScript

    См.

    также

    • Настройка администрирования на основе ролей для Configuration Manager
    • Основы ролевого администрирования

    Создание сценария PowerShell — Учебное пособие по Windows 7

    Windows 7 / Начало работы


    Разобравшись с основами, пришло время пройтись по созданию некоторых основных сценариев
    с помощью интегрированной среды сценариев Windows PowerShell. Изменена политика выполнения, чтобы можно было запускать сценарии.

    Создание и запуск сценария PowerShell

    1. Запустите Windows PowerShell ISE.
    2. Щелкните в верхней области (обозначенной как Untitled1.ps1), введите следующий текст и нажмите Enter:
      Get-EventLog -List
      Обратите внимание, что команда не выполняется, когда вы нажимаете Enter, а вместо этого запускает строку 2.
    3. Нажмите зеленую кнопку, чтобы запустить сценарий. Вы также можете нажать F5. Вы увидите результат
      отображается в средней панели. Если есть синтаксическая ошибка, вы увидите красный текст ошибки
      вместо черного текста в качестве вывода.
      Если вы видите красное сообщение об ошибке, найдите следующие символы: <<<<. Они часто указывают к конкретной строке текста, которая вызывает проблему.
    4. Щелкните значок Сохранить в меню (или нажмите Ctrl+S). Перейдите в папку с именем C:\
      Скрипты (создайте его, если нужно) и измените Untitled на LogInfo, чтобы сохранить скрипт
      как C:\Scripts\LogInfo.ps1.
    5. Переместите курсор в нижнюю часть экрана, введите C:\Scripts\LogInfo.ps1 и
      нажмите Ввод. Скрипт выполнится.
    6. Измените текущее местоположение на файл сценария с помощью этой команды:
      Set-Location C:\Scripts.
    7. Попробуйте запустить скрипт этой командой (не получится):
      LogInfo.ps1
      Несмотря на то, что сценарий находится по текущему пути, PowerShell требуется подсказка, чтобы найти его.
    8. Нажмите стрелку вверх и измените последнюю команду, чтобы она выглядела так:
      .\LogInfo.ps1
      Символы .\ указывают PowerShell, что сценарий находится по текущему пути.

    Изменение сценария с использованием цикла ForEach

    1. Нажмите «Файл» → «Создать», чтобы создать пустую область для работы с новым сценарием.
    2. Введите следующий текст и нажмите F5, чтобы выполнить его.
      служба получения | select-object name, status
      Здесь перечислены все службы в системе по именам и их текущему состоянию (например, работающие
      или остановлен).
    3. Вместо того, чтобы выводить эти данные на экран, вы можете сохранить их в коллекции. Следующее
      Команда сохранит результат в коллекции с именем $colService. Заметить, что
      вам не нужно повторно вводить всю команду, вместо этого вы просто добавляете $colService =
      в начало строки:

       $colService = Get-service | выберите объект
        имя, статус 
    4. Теперь добавьте цикл ForEach для прохода по коллекции. Цикл будет проверять каждую службу
      хранится в коллекции, а затем используйте командлет Write-Host для отображения только
      службы со статусом, равным «работает».

       ForEach ($item в $colService) {
          Если ($item.status -eq "работает")
          {узел записи $item.name}
      }
       

    Точно так же вы можете использовать тот же метод для перечисления всех служб, которые останавливаются просто
    изменение «работает» на «остановлено» в сценарии.

    Хотя этот пример показывает, как можно использовать цикл ForEach для циклического прохождения коллекции,
    это не единственный способ получить список запущенных сервисов. Как и в большинстве скриптов, есть
    более чем один способ получить то, что вам нужно. Например, следующий однострочник также может
    использоваться для получения списка запущенных служб:

    Get-Service | Выберите имя, статус | где {$_.status -eq "работает"}

    [Предыдущий]
    [Содержание]
    [Далее]

    сообщить об этом объявлении

    В этом уроке:

    1. Работа с командной строкой
    2. Запуск и завершение сеанса командной строки
    3. Простые способы вызова сеансов командной строки администратора
    4. Запуск командной строки в определенной папке
    5. Строки с пробелами требуют кавычек
    6. 9001 0 Cmd. exe против Command.com

    7. Команды не чувствительны к регистру
    8. Запуск командной строки и выполнение команды
    9. Cmd.exe и другие командные строки
    10. Использование автозапуска для выполнения команд при запуске командной строки
    11. Использование синтаксиса командной строки Cmds
    12. Использование команд
    13. Введите /? для справки
    14. Запуск программ
    15. Открытие проводника Windows в текущей папке командной строки
    16. Использование дополнения имени файла и имени папки
    17. Использование другого символа завершения
    18. Использование подстановочных знаков
    19. Редактирование командной строки
    20. Использование командных символов
    21. Символы перенаправления
    22. Символ канала
    23. Символы комбинации команд
    24. Приостановка или отмена команд
    25. Упрощение ввода команд с помощью макросов Doskey
    26. DOSKEY Сохранение ввода
    27. Системные переменные Идентификация среды
    28. Просмотр переменных среды
    29. Изменение среды Переменные
    30. Предопределенные переменные среды
    31. Настройка командной строки Windows
    32. Настройка Размер и положение окна
    33. Визуальная установка размера и положения окна
    34. Выбор шрифта
    35. Настройка цветов
    36. Настройка других параметров
    37. Копирование и вставка в окно командной строки
    38. Навигация из командной строки
    39. Печать списка имен файлов
    40. Команды Использование путей
    41. Идентификация исполняемого файла s
    42. Изменение пути к исполняемым файлам
    43. Изменение пути с помощью графического интерфейса пользователя
    44. Изменение текущего пути с помощью компакт-диска
    45. Изменение текущего пути с помощью проводника Windows
    46. Запись выходных данных
    47. Выборка команд
    48. Dir
    49. Copy
    50. XCopy
    51. SET
    52. NET USE
    53. SystemInfo
    54. DriverQuery 90 011
    55. Echo
    56. Расширенные команды оболочки
    57. Создание пакетного файла
    58. Планирование пакетного файла
    59. Создание запланированных задач с помощью сценария
    60. Использование Windows PowerShell и PowerShell ISE
    61. Windows PowerShell ISE
    62. Команды PowerShell
    63. Глаголы и существительные
    64. Отправка вывода в текстовый файл
    65. Синтаксис PowerShell
    66. Переменные, созданные с помощью символа $
    67. Операторы сравнения
    68. Скобки, скобки и фигурные скобки
    69. Запуск сценариев PowerShell 9001 1
    70. Политика выполнения PowerShell
    71. Изменение политики выполнения
    72. Зацикливание
    73. Коллекции
    74. Создание сценария PowerShell
    75. Документирование сценариев
    76. Использование команд PowerShell
    77. Получение справки по PowerShell
    78. Использование WMI_Cmdlets
    79. Получение сведений об объекте
    80. Запрос информации об определенных объектах
    81. Завершение приложений с помощью Win32_process
    82. Форматирование вывода с помощью оператора форматирования -f
    83. Фильтрация вывода с помощью оператора Команда Where-Object
    84. Использование IF оператор
    85. Использование переключателя Оператор
    86. Возможность повторного использования сценария

    Сценарии PowerShell для Windows 7

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

    Сценарии Windows 7 PowerShell

    • Сценарии PowerShell для удаления временных файлов Windows 7
    • Сценарии Windows 7 PowerShell WMI
    • Отображение сообщений об ошибках в журналах событий Windows 7
    • Управление точками восстановления Windows 7
    • Введение в PowerShell 2.0

     ♦

    Сценарии PowerShell для удаления временных файлов Windows 7

    Давайте наращивать постепенно, узнаем немного о PowerShell, прежде чем действительно удалять какие-либо файлы.

    Get-ChildItem $Env:temp -recurse

    Примечание 0: $Env — это встроенная переменная среды. -recurse указывает Get-ChildItem искать подкаталоги.

    Примечание 00:  Если вам нужна помощь в запуске PowerShell в Windows 7, см. здесь.

    Пример 1. Подсчет временных файлов

    Clear-Host
    $count=0
    $List = Get-Childitem $Env:temp -recurse | Where-Object {$_.extension -eq «.tmp»}
    Foreach ($_ в $List){$_. name
    $count = $count +1}
    «Количество файлов» +$count

    Примечание 1a:   $List — это созданная мной переменная. Проследите, как выходные данные Get-ChildItem становятся входными данными Where-Object благодаря конвейерной обработке PowerShell (|).

    Примечание 1b: Этот сценарий PowerShell для Windows 7 также содержит цикл Foreach, важный метод автоматизации сценариев.

    Пример 2. Фактическое удаление временных файлов

    Теперь мы готовы к мощному командлету Remove-Item.

    Clear-Host
    Get-ChildItem $env:Temp | Remove-Item -recurse -force

    Примечание 2a: Не беспокойтесь, если вы получаете сообщения об отказе в доступе. Но попробуйте еще раз запустить пример 1 и посмотрите, как скрипт значительно уменьшил количество временных файлов.

    Сценарии Windows 7 PowerShell WMI

    Одна из причин научиться писать сценарии PowerShell, а не использовать графический интерфейс, заключается в том, что вы можете получить доступ к областям, где нет графического интерфейса Windows 7, или информация неудобно распределена по 2 или 3 меню.

    Пример 3: WMI ComputerSystem

    Get-WmiObject win32_computersystem

    Просмотр инструментария управления Windows (WMI) похож на использование микроскопа для наблюдения за тем, что происходит в операционной системе.

    Парень рекомендует: монитор WMI, и это бесплатно!

    Инструментарий управления Windows (WMI) — одно из скрытых сокровищ операционных систем Microsoft. К счастью, компания SolarWinds создала монитор WMI, чтобы вы могли бесплатно просматривать эти жемчужины информации о производительности. Попробуйте угадать, какие счетчики WMI использовать для таких приложений, как Microsoft Active Directory, SQL или Exchange Server.

    Загрузите бесплатную копию WMI Monitor

    Пример 4. Сценарий PowerShell для опроса сетевого адаптера

    Get-WmiObject Win32_NetworkAdapterConfiguration

    Давайте исследуем командлет PowerShell с помощью Get-Member

    Get-Wmi Объект Win32_NetworkAdapterConfiguration | GM

    Примечание 3a: GM — это псевдоним или сокращение от Get-Member

    Теперь мы применим знания о свойствах и создадим полезный сценарий PowerShell.

    Get-WmiObject Win32_NetworkAdapterConfiguration | `
    Format-Table IPAddress, MACAddress, Description, DHCPEnabled -autosize

    Примечание 3b: обратная кавычка PowerShell (`) позволяет команде переноситься на вторую строку, другими словами, без обратной кавычки PowerShell будет выполнять две отдельные команды и сценарий не сработает.

    Сценарии Windows 8 PowerShell будут очень похожи.

    Отображение сообщений об ошибках в журналах событий Windows 7

    В этом сценарии вы хотите, чтобы сценарий PowerShell отображал все последние сообщения об ошибках, но вы не уверены, записана ли проблема в журнале системы или приложения.

    Пример 5: Get-Eventlog с $_.

    Система Clear-Host
    Get-Eventlog — новейшая версия 2000 | Где {$_.entryType -match «Ошибка»}
    Write-Host «Журнал приложений»
    Get-Eventlog Приложение — новейшее 2000 | Где {$_.entryType -match «Error»}

    Примечание 5a: Обратите внимание на аккуратный $_. строительство. Это означает, что в текущем конвейере есть любые ошибки из вывода Get-Enventlog.

    Подробнее о командлетах Windows 7 и PowerShell.

    Парень рекомендует: Бесплатный генератор конфигурации

    Генератор конфигурации SolarWinds — это бесплатный инструмент, который позволяет вам контролировать изменения в сетевых маршрутизаторах и других устройствах SNMP. Повысьте производительность сети, активировав функции сетевого устройства, за которые вы уже заплатили.

    Гай говорит, что для новичков самым большим преимуществом этого бесплатного инструмента является то, что он даст вам стимул узнать больше о настройке службы SNMP с ее «Ловушками» и «Сообществами». Попробуйте Config Generator прямо сейчас — это бесплатно!

    Загрузите бесплатную копию Config Generator

    Пример 6. Управление точками восстановления Windows 7

    Этот сценарий Windows 7 PowerShell отключает или включает точки восстановления операционной системы. Этот сценарий покажет вам, как создать функцию PowerShell.

    Функция Set-SysRestore

    При создании функций PowerShell лучше всего начинать их имя с существующих глаголов, таких как «get-» или «set-». Обратите внимание, что в основе этой функции лежит переключатель ($RestoreOpt), который, в свою очередь, вызывает класс systemrestore WMI. Именно этот параметр предоставляет вам возможность включить или отключить восстановление системы.

    Один важный момент: вам нужно указать другое значение для $sysName.

    #########################################
    ##
    ## Автор: Дэйв Стоун, Brooks Automation
    ## Дата: 6 мая 2011 г.
    ## Включает или отключает восстановление системы на рабочей станции Windows 7
    ##
    ## Использование Set-SysRestore option имя_компьютера
    ##
    ##### #################################

    Function Set-SysRestore {
    param(
    $RestoreOpt = $(throw «Укажите опцию, включите или отключите»),
    $sysName = $(throw «Укажите IP-адрес или имя компьютера с Windows 7″) default:systemrestore»
        $SysRestore. Disable(«C:\»)}
       «enable»
       {$SysRestore = [wmiclass]»\\$sysname\root\default:systemrestore»
        $SysRestore.Enable(«C: \»)}
       }
                                }
    Set-SysRestore -RestoreOpt enable -SysName 192.168.1.20

    Примечание 6a:  Это сценарии PowerShell, для которых необходимо «Запускать от имени администратора».

    Примечание 6b:   Отметьте два параметра для параметра -RestoreOpt. Это последняя строка, которая запускает функцию Set-SysRestore и позволяет восстановить систему на диске C:\.

    Примечание 6c:   Чтобы отключить восстановление, введите обратную команду:
    Set-SysRestore -RestoreOpt disable -SysName YourComputer

    Пример:
    Set-SysRestore -RestoreOpt disable -SysName Win7Computer

    Примечание 6d: Обратите особое внимание на -SysName, ваш компьютер с Windows 7 или Vista вряд ли имеет IP-адрес 192.