Как с помощью PowerShell завершать процессы в Windows 10. Windows powershell команды windows 10


windows powershell команды - iT Notes

Подключаем оснастку для управления ad

%windir%\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -command import-module ActiveDirectory

%windir%\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -command import-module ActiveDirectory

При запску ps скрпитов,может возникнуть ошибка.

Не удается загрузить файл <, так как выполнение скриптов запрещено для данной системы.

Введите «get-help about_signing» для получения дополнительных сведений. Это связано с политикой безопасности, включаем запуск скриптов

Set-ExecutionPolicy remotesigned

Set-ExecutionPolicy remotesigned

Поиск пользователей с включенной галкой «Запретить смену пароля пользователей»

dsquery user -limit 0 OU=Пользователи,dc=doctormouse,dc=ru -name * | dsget user -display -canchpwd >C:\users-fuckerrr.txt

dsquery user -limit 0 OU=Пользователи,dc=doctormouse,dc=ru -name * | dsget user -display -canchpwd >C:\users-fuckerrr.txt

Находим и меняем у подлеца8-) на нормальный режим

dsmod user "CN=Изя Абрамыч,OU=Израиль,OU=Маркетинг,OU=Пользователи,DC=doctormouse,DC=ru" -canchpwd yes

dsmod user "CN=Изя Абрамыч,OU=Израиль,OU=Маркетинг,OU=Пользователи,DC=doctormouse,DC=ru" -canchpwd yes

 

Posted in PowerShell on 24 сентября 2014No Comments »

win13.ru

Десять команд PowerShell, которые должен знать каждый администратор Windows

В последние годы Microsoft активно старается сделать PowerShell Windows 7 ключевым административным инструментом. Практически все новые серверные продукты Microsoft требуют использования команд PowerShell, а целый ряд задач по обслуживанию системы невозможно выполнить без командной строки, поэтому каждый администратор Windows обязан знать основы PowerShell. Представляем десять наиболее полезных команд.

1. Get-Help

Первый командлет, который должен знать каждый администратор, — это Get-Help. С его помощью можно получить справочную информацию по любой другой команде. Например, чтобы узнать полный синтаксис для команды Get-Process, можно воспользоваться следующей командой:

Get-Help -Name Get-Process

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

Get-Help -Name Get-*

2. Set-ExecutionPolicy

Хотя PowerShell предусматривает возможность создавать и выполнять сценарии, по умолчанию эта опция отключена, чтобы предотвратить исполнение вредоносного программного кода. Управлять разрешениями на выполнение сценариев можно с помощью команды Set-ExecutionPolicy. Доступны четыре уровня безопасности:

• Restricted — выполнение сценариев запрещено. Эта опция установлена по умолчанию. Команды в таком случае можно выполнять только в интерактивном режиме.

• All Signed — разрешено выполнение только сценариев, подписанных доверенным издателем.

• Remote Signed — разрешено выполнение любых сценариев, созданных локально, а сценарии, созданные на удаленных системах, выполняются только в том случае, если подписаны доверенным издателем.

• Unrestricted — разрешено выполнение абсолютно любых сценариев.

Чтобы применить определенную политику выполнения сценариев, можно воспользоваться командой Set-ExecutionPolicy с указанием имени политики. Например, разрешить неограниченное выполнение сценариев можно следующей командой:

Set-ExecutionPolicy Unrestricted

3. Get-ExecutionPolicy

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

4. Get-Service

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

5. ConvertTo-HTML

PowerShell позволяет получить массу полезных сведений о системе, но иногда бывает недостаточно просто просмотреть эту информацию в окне командной строки. Порой возникает необходимость составить отчет для отправки другому администратору. В таком случае можно воспользоваться командой ConvertTo-HTML, перенаправив на нее вывод любой другой команды. При этом необходимо использовать переключатель -Property для перечисления свойств, которые требуется включить в HTML-отчет, и указать имя файла.

Возьмем для примера команду Get-Service, позволяющую получить список служб, и создадим на ее основе HTML-отчет с указанием имени и состояния каждой установленной в системе службы. Для этого можно воспользоваться следующей командой:

Get-Service | ConvertTo-HTML -Property Name, Status > C:\services.htm

6. Export-CSV

Отчеты можно сохранять не только в HTML, но и экспортировать в формат CSV для просмотра в Microsoft Excel. Синтаксис команды, которая применяется для этой цели, аналогичен ConvertTo-HTML. Обязательно следует указать имя файла для сохранения отчета. Например, экспортировать список служб в CSV-файл можно следующей командой:

Get-Service | Export-CSV c:\service.csv

7. Select-Object

При выполнении описанной выше команды CSV-отчет будет включать огромную массу информации, но иногда бывает полезно ограничить набор сведений. Сделать это можно с помощью команды Select-Object, которая позволяет указать, какие свойства должны быть включены в отчет. Например, чтобы создать CSV-отчет с перечислением имен и состояний всех системных служб, можно воспользоваться следующей командой:

Get-Service | Select-Object Name, Status | Export-CSV c:\service.csv

8. Get-EventLog

Команду Get-EventLog можно использовать для синтаксического анализа журналов событий. К ней предлагается целый ряд дополнительных параметров, но чтобы получить представление о том, как она работает, достаточно указать переключатель -Log и имя файла журнала. Например, посмотреть журнал какого-нибудь приложения, можно воспользоваться следующей командой:

Get-EventLog -Log "Имя приложения"

На практике эта команда применяется довольно редко. Чаще всего вместо нее используются другие команды, позволяющие отфильтровать данные и сохранить их в формате CSV или HTML.

9. Get-Process

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

10. Stop-Process

Когда тот или иной процесс зависает, можно выяснить его имя или идентификатор с помощью команды Get-Process, а затем завершить процесс командой Stop-Process с указанием его имени или идентификатора. Например, процесс «Notepad.exe» для Блокнота можно завершить одной из следующих команд:

Stop-Process -Name notepad Stop-Process -ID 2668

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

Автор: Brien PoseyПеревод SVET

Оцените статью: Голосов 7

www.winblog.ru

Основные команды Windows PowerShell | Windows IT Pro/RE

В частности, PowerShell интегрирована в консоль управления Microsoft Exchange Server 2007 и планируемого к выпуску продукта System Center Virtual Machine Manager 2007. Технология PowerShell, открывающая принципиально новый этап в области разработки сценариев Windows, значительно отличается от своих предшественников - командной оболочки Windows и VBScript. PowerShell имеет новый набор команд, называемых "командаs", и новый синтаксис команд, который необходимо изучить. Чтобы ввести вас в курс дела, приведу 10 основных команд PowerShell.

10. Get-Help. Команда Get-Help позволяет получить пояснения по поводу работы с PowerShell. Помимо синтаксиса команд, эта команда также предлагает примеры использования. Приведенный ниже пример иллюстрирует применение Get-Help для получения справочной информации о самой оперативной справке PowerShell Help:

get-help

9. cd. Команда cd (Change Directory - изменить каталог) используется для перемещения между папками. По сути, cd является псевдонимом команды Set-Location. От команды cd из прежней командной оболочки Windows этот вариант отличает способность перемещения по реестру. Например, войти в подраздел реестра HKEY_LOCAL_MACHINESOFTWARE при помощи cd позволяет следующая комбинация:

cd hklm:software

8. Get-Alias. PowerShell имеет более сотни различных псевдонимов. Кроме того, можно создавать пользовательские псевдонимы при помощи команды New-Alias. Команда Get-Alias (или ее псевдоним gal) позволяет вывести список всех псевдонимов Power-Shell с их прототипами:

gal | select name, definition

7. Get-Command. Команда Get-Command используется для извлечения списка доступных команд. Имеющаяся в PowerShell поддержка групповых символов позволяет сузить рамки поиска. Приведенный ниже пример иллюстрирует извлечение всех команд, начинающихся с get:

get-command get*

6. Set-Content. Команда Set-Content (или ее псевдоним sc) используется для записи значений в файл. Если указанный целевой файл не существует, команда создает его. Приведенный ниже пример иллюстрирует запись значения "My data" в файл под именем mynewfile.txt:

sc c: empmynewfile.txt -value "My data"

5 .Get-Content. Противоположностью sc является команда Get-Content (gc). Команда gc используется для чтения содержимого файла. Например, приведенный ниже пример позволяет вывести на экран содержимое файла mynewfile.txt:

gc c: empmynewfile.txt

4 .Set-ExecutionPolicy. По умолчанию способность PowerShell к запуску сценариев отключена; можно лишь вводить команды из командной строки. Команда Set-ExecutionPolicy позволяет изменять уровень безопасности выполняемых сценариев. Активизировать способность PowerShell к запуску любого сценария можно следующей командой:

set-executionpolicy unrestricted

3 .Set-PsDebug. Не обладая полнофункциональным отладчиком, PowerShell все же имеет средства отладки, благодаря наличию команды Set-PsDebug. Приведенная ниже команда позволяет исполнять сценарий PowerShell в пошаговом режиме, т.е. по одной строке одновременно:

set-psdebug -step

2 .Get-Process. PowerShell имеет удобные встроенные команды, позволяющие выполнять многие задания, ранее требовавшие утилит из пакетов ресурсов или инструментов независимых производителей. Например, команда Get-Process позволяет получать информацию об активных процессах в системе. Чтобы отобразить список всех выполняемых процессов, воспользуйтесь командой:

get-process

1 .Get-Eventlog. Команда Get-Eventlog позволяет извлекать журналы регистрации событий Windows. Как и в случае с Get-Process, отсутствует необходимость в использовании дополнительных средств. Приведенный ниже пример иллюстрирует извлечение 10 самых последних записей из журнала регистрации событий:

get-eventlog -newest 10 -logname system

www.osp.ru

Использование DISM в Windows PowerShell

Эта документация перемещена в архив и не поддерживается.

Командлеты системы обслуживания образов развертывания и управления ими (DISM) выполняют те же функции, что и программа командной строки DISM.exe. Во многих случаях имена командлетов DISM прямо соответствуют параметрам Dism.exe и для них можно использовать те же самые аргументы. Тем не менее некоторые имена командлетов DISM не соответствуют параметрам Dism.exe, поэтому в следующей таблице приводится сопоставление команд Dism.exe и имен командлетов DISM.

Команда Dism.exeКомандлет DISM

Dism.exe /Add-Capability

Add-WindowsCapability

Dism.exe /Append-Image

Add-WindowsImage

Dism.exe /Apply-Image

Expand-WindowsImage

Dism.exe /Capture-Image

New-WindowsImage

Dism.exe /Cleanup-MountPoints

Clear-WindowsCorruptMountPoint

Dism.exe /Commit-Image

Save-WindowsImage

Dism.exe /Export-Image

Export-WindowsImage

Dism.exe /Get-Capabilities

Get-WindowsCapability

Dism.exe /Get-ImageInfo

Get-WindowsImage

Dism.exe /Get-MountedImageInfo

Get-WindowsImage -Mounted

Dism.exe /Get-WimBootEntry

Get-WIMBootEntry

Dism.exe /List-Image

Get-WindowsImageContent

Dism.exe /Mount-Image

Mount-WindowsImage

Dism.exe /Split-Image

Split-WindowsImage

Dism.exe /Remove-Capability

Remove-WindowsCapability

Dism.exe /Remove-Image

Remove-WindowsImage

Dism.exe /Remount-Image

Mount-WindowsImage -Remount

Dism.exe /Unmount-Image

Dismount-WindowsImage

Dism.exe /Update-WimBootEntry

Update-WIMBootEntry

Dism.exe /Image:<…> /Add-Driver

Add-WindowsDriver

Dism.exe /Image:<...> /Add-Package

Add-WindowsPackage

Dism.exe /Image:<...> /Add-ProvisionedAppxPackage

Add-AppxProvisionedPackage

Dism.exe /Image:<...> /Apply-Unattend

Apply-WindowsUnattend

Dism.exe /Image:<...> /Cleanup-Image /CheckHealth

Repair-WindowsImage -CheckHealth

Dism.exe /Image:<...> /Cleanup-Image /ScanHealth

Repair-WindowsImage –ScanHealth

Dism.exe /Image:<...> /Cleanup-Image /RestoreHealth

Repair-WindowsImage –RestoreHealth

Dism.exe /Image:<...> /Disable-Feature

Disable-WindowsOptionalFeature

Dism.exe /Image:<...> /Enable-Feature

Enable-WindowsOptionalFeature

Dism.exe /Image:<...> /Export-Driver

Export-WindowsDriver

Dism.exe /Image:<...> /Get-CurrentEdition

Get-WindowsEdition -Current

Dism.exe /Image:<...> /Get-Driverinfo

Get-WindowsDriver -Driver

Dism.exe /Image:<...> /Get-Drivers

Get-WindowsDriver

Dism.exe /Image:<...> /Get-Featureinfo

Get-WindowsOptionalFeature -FeatureName

Dism.exe /Image:<...> /Get-Features

Get-WindowsOptionalFeature

Dism.exe /Image:<...> /Get-Packageinfo

Get-WindowsPackage -PackagePath | -PackageName

Dism.exe /Image:<...> /Get-Packages

Get-WindowsPackage

Dism.exe /Image:<...> /Get-ProvisionedAppxPackages

Get-AppxProvisionedPackage

Dism.exe /Image:<...> /Get-TargetEditions

Get-WindowsEdition -Target

Dism.exe /Image:<...> /Optimize-Image

Optimize-WindowsImage

Dism.exe /Image:<...> /Remove-Driver

Remove-WindowsDriver

Dism.exe /Image:<...> /Remove-Package

Remove-WindowsPackage

Dism.exe /Image:<...> /Remove-ProvisionedAppxPackage

Remove-AppxProvisionedPackage

Dism.exe /Image:<...> /Set-Edition

Set-WindowsEdition

Dism.exe /Image:<...> /Set-ProductKey

Set-WindowsProductKey

Dism.exe /Image:<...> /Set-ProvisionedAppxDataFile

Set-AppXProvisionedDataFile

 

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

  • Модуль DISM PowerShell входит в Windows 10 и Windows Server 2016 Technical Preview. В других поддерживаемых операционных системах вы можете установить комплект средств для развертывания и оценки Windows (ADK), который также включает модуль PowerShell системы DISM.

Установка PowerShell 4.0

  • В Windows 10 и Windows Server Technical Preview 2016 Windows PowerShell 4.0 включен в пакет установки. Для более старых поддерживаемых версий Windows и Windows Server необходимо установить Windows Management Framework 4.0. Можно загрузить и установить Windows Management Framework 4.0 в Центре загрузки Microsoft.

Подготовка среды DISM PowerShell

  1. Для открытия PowerShell с правами администратора на начальном экране PowerShell щелкните правой кнопкой мыши плитку приложения Windows PowerShell и на панели приложения выберите Запуск от имени администратора.

  2. Импортируйте модуль DISM PowerShell.

    Модуль DISM PowerShell входит в Windows 10 и Windows Server 2016 Technical Preview, поэтому его импорт не требуется.

    Для остальных поддерживаемых операционных систем вы можете использовать модуль DISM PowerShell из пакета Windows ADK. По умолчанию модуль устанавливается вместе с Windows ADK в папку DISM как <x86 or amd64>\DISM\ по пути C:\Program Files (x86)\Windows Kits\10.0\Assessment and Deployment Kit\Deployment Tools\ в Windows 10. Чтобы импортировать этот модуль, введите в командной строке:

    import-module <path to DISM folder>

    Например, при использовании версии Windows ADK для Windows 10 на 64-разрядном компьютере:

    import-module "C:\Program Files (x86)\Windows Kits\10.0\Assessment and Deployment Kit\Deployment Tools\amd64\DISM" Примечание

      

    Import-Module импортирует модуль только в текущий сеанс. Чтобы импортировать модуль во все сеансы, добавьте команду Import-Module в профиль Windows PowerShell. Для получения дополнительных сведений о профилях введите get-help about_profiles.

     

  3. В переменной среды %path% укажите расположение папки DISM в папке установки Windows ADK. Введите в командную строку команду:

    $env:path = <path to DISM folder>

    Изменения переменных среды в PowerShell влияют только на текущий сеанс. Чтобы сделать изменение переменной среды постоянным и сохранить его в реестре, используйте элемент «Система» на панели управления. Дополнительные сведения см. в разделе Добавление и изменение значений переменных среды.

Получение справки о командлетах DISM PowerShell

  • Чтобы просмотреть синтаксис использования командлета, введите в командной строке:

    Например, введите:

    get-help get-WindowsImage

Связанные разделы

Технический справочник по системе обслуживания образов развертывания и управления ими для ОС Windows (DISM) Поддерживаемые платформы DISM

 

 

msdn.microsoft.com

Нововведения в Windows 10: PowerShell и Paint 3D

Windows 10 Insider Preview Build 14971 прощается с классической программой для рисования и заменяет командную строку на PowerShell.

Microsoft недавно выпустила инсайдерскую Windows 10. Основные нововведения Windows 10 Build 14971: интеграция Paint 3D, превращение Edge в читалку электронных книг, удаление командной строки в пользу PowerShell.

Edge для чтения электронных книг

Начиная со сборки 14971, Microsoft сообщает, что Edge сможет отображать любые незащищенные электронные книги в формате EPUB. Для пользователей ПК это обновление не покажется очень интересным. Но для владельцев планшетов c Windows 10 это хорошее нововведение — не нужно скачивать сторонние приложения для чтения книг. Кстати, Google Chrome тоже может открывать электронные книги. Это один из секретов Google Chrome, о котором мы писали в прошлой статье. Edge предлагает все основные функции, которые требуются для чтения электронных книг, в том числе три темы (темная, светлая, сепия), навигационное оглавление, закладки, панель поиска в нижней части браузера. Также Egle имеет интеграцию с Cortana, что позволяет управлять браузером с помощью голоса. Не всем понравилась Cortana, потому мы написали руководство, как избавиться от Кортаны в Windows 10.

Paint 3D

Интересное нововведение Windows 10 Insider Preview Build 14971. Теперь нет необходимости скачивать Paint 3D с Windows Store. С этой он по умолчанию входит состав операционной системы. Старый Paint исчезнет с Windows. При запуске Paint через Пуск, запустится 3D версия стандартной рисовалки. Даже если вы зайдете в C:\Windows\System32 и запустите mspaint.exe, откроется новый Paint 3D вместо привычного Paint.

PowerShell вместо Командной строки

Нажмите Win + X или ПКМ на Пуск в Windows 10 Build 14971, и вы не увидите там пункта с запуском старой доброй командной строки. Вы не сможете запустить командную строку из Проводника, Пуска, или другими способами. Microsoft полностью заменили командную строку мощным PowerShell, который выпустили 10 лет назад.

Если вы еще не готовы к переходу на PowerShell, вы можете отказаться от него. Перейдите в Пуск > Настройки > Персонализация > Панель задач и выключите опцию с названием «Заменить командную строку Windows PowerShell».

Как и в любой Insider Preview, Build 14971 имеет ряд небольших нововведений и улучшений. Приложение Outlook Mail теперь поддерживает OAuth для Yahoo Mail. Microsoft внесла некоторые изменения в приложение Get Office (Beta) и убрала несколько кнопок Cortana из Edgle.

Microsoft всегда экспериментирует в своих продуктах. Нововведения Windows 10 Build 14971 позитивно повлияют на операционную систему.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

mypclife.ru

Полезные приёмы работы в Windows PowerShell 2

Администратор создание ленивое и по этому они (администраторы) неустанно ищут супер утилиту которая вместо них самих выполняла бы всю их работу ну или основную часть. Наиболее распространенным методом «избавления от головной боли и экономии времени» стала запись и последовательное пакетное исполнение необходимых операций - исполнение скриптов или сценариев в интерпретаторе команд операционной системы, так и был создан Windows PowerShell.

Редактирование в командном окне Windows PowerShell

Windows PowerShell поддерживает те же возможности редактирования вводимых команд, что и в стандартной оболочке cmd.exe Вспомним ключевые:

Клав. комбинация Действие ---------------- -------- <home> В начало текущей строки <end> В конец текущей строки <insert> Переключение между реж. вставки и замены <delete> Удаление символа под курсором <backspace> Удаление символа перед курсором <f7> Список команд вводимых ранее <tab> Авто завершение команд

Работа с буфером обмена Windows: правой кнопкой мыши на заголовке окна PowerShell, меню "Изменить - Пометить", затем удерживая нажатой клавишу <shift> выделить нужный блок и нажать <enter>. Можно упростить манипуляции с буфером Windows включив режим выделения мышью и быстрой вставки.

* ПРИМЕЧАНИЕ:Если имеются несколько строк с командами, то достаточно скопировать их все и вставить в окно консоли, команды будут выполнятся поочерёдно - нет необходимости копировать и вставлять строки с командами по одной!

Автоматическое завершение команд Windows PowerShell

Находясь в оболочке Windows PowerShell, можно ввести часть какой-либо команды, нажать клавишу <tab> и система попытается сама дописать полное имя этой команды. Автоматическое завершение команд срабатывает для имен файлов и путей файловых систем до первого найденного совпадения. При повторном нажатии клавиши <tab> выполняется циклический переход по имеющимся возможностям выбора.

В оболочке Windows PowerShell также реализована возможность автоматического завершения путей файловой системы на основании шаблонных символов: ? (любой один символ) и * (любое количество произвольных символов). Например:

После нажатия на клавишу <tab> путь будет преобразован в cd 'C:\Program Files'...

В оболочке Windows PowerShell имеется возможность автоматического завершения имен командлетов и их параметров. Если ввести первую часть имени (глагол) командлета и дефис, после этого нажать клавишу <tab>, то система выдаст имя первого подходящего командлета. Аналогичным образом срабатывает автозавершение и для параметров командлета, например введя имя командлета и дефис, после чего нажать <tab>, то автоматически будет подставлено имя первого подходящего параметра для этого командлета.

Windows PowerShell позволяет автоматически завершать имена переменных. И наконец Windows PowerShell поддерживает автоматическое завершение имён свойств и методов объектов. Например:

$a='test't' $a.len <tab> $a.Length

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

$a.sub <tab> $a.Substring(

Теперь можно вводить параметры метода (функции)...

Получение справки Windows PowerShell

Краткую справку по командлетам Windows PowerShell можно получить введя "-?" сразу после имени командлета, более подробную информацию о командлете можно получить при помощи команд help или get-help с ключами -detailed или -full. При использовании ключа -detailed некоторые технические детали опускаются.

help -full ConvertTo-Html   ИМЯ ConvertTo-Html   ОПИСАНИЕ Преобразует объекты Microsoft .NET Framework в код HTML, который может отображаться в веб-браузере.   СИНТАКСИС ConvertTo-Html [[-Head] <string[]>] [[-Title] <string>] [[-Body] <string[]>] [-CssUri <Uri>] [[-Property] <Object[]>] [-As <string>] [-InputObject <psobject>] [-PostContent <string[]>] [-PreContent <string[]>] [<CommonParameters>]   ConvertTo-Html [-Fragment] [[-Property] <Object[]>] [-As <string>] [-InputObject <psobject>] [-PostContent <string[]>] [-PreContent <string[]>] [<CommonParameters>]   ОПИСАНИЕ Командлет ConvertTo-Html преобразует объекты .NET Framework в код HTML, который может отображаться в веб-браузере. Этот командлет можно использовать для вывода результатов выполнения команды на веб-страницу.   Параметры командлета ConvertTo-Html позволяют выбирать свойства объектов, задавать формат таблиц или списков, определять заголовок HTML-страницы, добавлять текст перед объектом и после него, а также возвращать только фрагмент с таблицей или списком, а не полную страницу.   При передаче командлету ConvertTo-Html нескольких объектов Windows PowerShell создает таблицу (или список) на основании свойств первого переданного объекта. Если у оставшихся объектов нет одного из указанных свойств, то значению этого свойства для такого объекта будет соответствовать пустая ячейка. Если же у оставшихся объектов имеются дополнительные свойства, значения этих свойств будут проигнорированы.   ПАРАМЕТРЫ ............................ -Body Задает текст для добавления после открывающего тега . По умолчани ю в этом месте нет текста.   Требуется? false Позиция? 4 Значение по умолчанию Нет текста. Принимать входные данные конвейера?false Принимать подстановочные знаки?false

Как видим некоторые параметры командлетов например как "-Body" требуют ввода атрибутов (значений), в полной справке с ключом "-full" даётся пояснение про их использование:

  • Требуется? - Указывает, будет ли командлет выполнятся при отсутствии этого параметра. Если значение True, значит параметр обязателен. Если он не указан, система запросит его значение
  • Позиция? - Показывает, используется ли параметр как именованный или позиционный (под номером). Позиционные параметры должны появляться в указанном месте команды. Если 0 или named, это значит, что при задании значения параметра необходимо указывать его имя. Если атрибут Позиция? имеет целое ненулевое значение, то имя параметра можно не указывать, в этом случае это так званый позиционный параметр. Например, "2" означает, что при отсутствии имени параметра этот параметр должен быть вторым. Если используется имя параметра, параметр может располагаться в любом месте команды.
  • Значение по умолчанию - Содержит значение по умолчанию, в случае когда значение не определено явно. Часто обязательным параметрам, так же как и многим необязательным, никогда не присваивается значение по умолчанию. Например, многие команды, чьим входным значением является параметр -path, при отсутствии значения используют текущее местоположение.
  • Принимать входные данные конвейера? - Показывает, можно ли (да) или нельзя (нет) посылать объекты в этот параметр по конвейеру. "По имени свойства" означает, что конвейеризованный объект должен иметь свойство с тем же именем, что и имя данного параметра.
  • Принимать подстановочные знаки? - Показывает, может ли значение параметра включать подстановочные знаки, такие как "*" и "?".

Можно также получить справку не связанную с командлетами. Для просмотра всех доступных разделов справки используйте команду: help * Список тем обсуждение которых представлено в справочной службе Windows PowerShell, можно увидеть с помощью команды: help about_*

Отметим, что Get-Help выводит содержимое раздела справки на экран сразу целиком. man и help позволяют выводить справочную информацию поэкранно, аналогично команде more интерпретатора cmd.exe.

История команд в сеансе работы Windows PowerShell

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

По умолчанию Windows PowerShell сохраняет последние 64 команды. Для изменения числа сохраняемых команд нужно изменить значение специальной переменной $MaximumHistoryCount, например:

Просмотреть полный список выполнявшихся команд можно нажав клавишу F7 но, можно просматривать не весь список, а только те команды которые начинаются с определённых символов, для этого нужно ввести начальные символы и нажимать F8 для прокручивания списка команд начинающихся с этих символов.

Также есть возможность выполнить команду по её номеру в истории команд, для этого нужно нажать F9 и ввести порядковый номер в истории команд.

Кроме клавиатурных комбинаций для работы с журналом команд в Windows PowerShell имеются специальные командлеты, get-history (псевдонимы h, history и ghy) позволяет вывести историю команд, по умолчанию последние 32 команды. Число выводимых команд можно изменить с помощью параметра -Count.

Можно выделять из журнала сеанса команды, удовлетворяющие определённому критерию. Для этого используется конвейер и специальный командлет Where-Object. Например, для вывода команд, содержащих слово del, можно выполнить следующую команду:

Get-History | Where-Object ($_.CommandLine -like "*del*")

Полученный с помощью Get-History список команд можно экспортировать во внешний файл в формате XML или CVS (текстовый файл с запятыми в качестве разделителя). Например:

Get-History | Export-CSV .\pshistory.csv

С помощью командлета Add-History можно добавлять команды обратно в журнал сеанса:

Import-CSV .\pshistory.csv | Add-History

Командлет Invoke-History (псевдонимы r, сокращение от "repeat" или "return", и ihy) позволяет повторно выполнять команды из журнала сеанса, при этом команды можно задавать по их порядковому номеру или первым символом, а также получать по конвейеру от командлета Get-History. Например:

# вызов последней команды Invoke-History # вызов седьмой команды Invoke-History -id 7 # или проще r 3 # вызов последней команды Get-Help Invoke-History Get-He # Вызов последней команды полученой по конвейеру от Get-History Get-History | Where-Object ($_.CommandLine -like "*del*") | Invoke-History

Протоколирование действий в сеансе работы Windows PowerShell

В оболочке Windows PowerShell можно вести запись в текстовый файл всего сеанса работы включая результат выполнения команд. Для этой цели служит командлет Start-Transcript, имеющий синтаксис:

Start-Transcript [[-Path] <string>] [-Append] [-Force] [-NoClobber] [-Confirm] [-WhatIf] [<CommonParameters>]   # Запустим протоколирование Start-Transcript -path .\psprotocol.txt # выполним что-то ps # остановим протоколирование Stop-Transcript # просмотрим результат type .\psprotocol.txt

Если имя файла протокола не указанно, то он будет сохранятся в файле, путь к которому задан в значении глобальной переменной $Transcript Если переменная не определена, то командлет Start-Transcript сохраняет протоколы в каталоге "$HOME\Мои документы" в файлах "PowerShell_transcript..txt".

Если файл протокола, в который должен начать сохранятся сеанс работы, уже существует, то по умолчанию он будет переписан. Параметр командлета Start-Transcript -append включает режим добавления нового протокола к существующему. Если же указан параметр -noclobber, а файл уже существует, то командлет Start-Transcript не выполняет никаких действий.

Настройка профилей Windows PowerShell

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

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

Windows PowerShell поддерживает профили четырех типов. Дело в том, что модель Windows PowerShell предусматривает возможность использования разных интерфейсов для языка (так называемых интерфейсов), а powershell.exe представляет собой лишь один из таких хостов.

* ПРИМЕЧАНИЕ:В настоящее время доступны несколько альтернативных хостов Windows PowerShell, например PowerShell и PowerShell, которые можно загрузить с сайта http://powershell.com/

Name Описание ----------- ----------- $Profile Текущий пользователь, текущее ведущее приложение $Profile.CurrentUserCurrentHost Текущий пользователь, текущее ведущее приложение $Profile.CurrentUserAllHosts Текущий пользователь, все ведущие приложения $Profile.AllUsersCurrentHost Все пользователи, текущее ведущее приложение $Profile.AllUsersAllHosts Все пользователи, все ведущие приложения

Проверить создан ли тот или иной профиль можно командой:

Если профиль существует, то команда выдастTrue, в противном случае -False. Для создания или изменения существующего профиля нужно открыть в текстовом редакторе файл, путь к которому хранится в одной из указанных выше переменных. Сделать это можно прямо из оболочки Windows PowerShell:

Если профиль Windows PowerShell уже существует, то будет открыт Блокнот Windows с содержимым файла Microsoft.PowerShell_profile.ps1, иначе будет открыто диалоговое окно с сообщением о том, что открываемый файл не найден. Нажав кнопкуOKв этом окне мы попадаем в пустое окно Блокнота Windows - теперь нужно ввести команды, которые мы планируем выполнять при каждой загрузке Windows PowerShell, в нашем случае это:

 

Далее следует сохранить файл в каталоге \Мои документы\WindowsPowerShell\, если каталог \Мои документы\WindowsPowerShell\ отсутствует, то его нужно будет предварительно создать, перейти в этот каталог и там сохранить этот файл с именем Microsoft.PowerShell_profile.ps1

Теперь выйдем из Windows PowerShell и снова откроем его, если выдается ошибка, то это говорит о том, что установленная по умолчанию политика "Restricted" запрещает выполнение PowerShell скриптов. Для разрешения выполнения скриптов следует выполнить команду:Set-ExecutionPolicy RemoteSigned

Снова выйдем и запустим Windows PowerShell и теперь мы должны увидеть, что полный путь, в котором открыта оболочка Windows PowerShell, отображается в верхней панели окна, а приглашение командной строки имеет вид "PS >". Таким образом область ввода команд не забивается текущим путём в котором запущена оболочка и свободна для ввода команд, а текущий путь мы всегда сможем созерцать в верхней части окна.

Windows PowerShell как калькулятор

В командной строке PowerShell можно вычислять выражения, то есть пользоваться командной строкой как калькулятором (в оболочке cmd.exe эта возможность отсутствовала).

Результат сразу появляется на экране и нет нужды использовать для вычислений дополнительные команды. В командной строке можно также вычислять значения с плавающей точкой:

PS C:\> 20/3 6,66666666666667

PowerShell способен выполнять и более сложные математические вычисления. Например вычисление квадратного корня из числа 327:

PS I:\> [System.Math]::Sqrt(327) 18,0831413200251

В этом примере используется метод Sqrt() класса System.Math Результаты вычислений можно сохранять в переменную и пользоваться ими в рамках текущей сессии:

$a=30/2 $a 15 $a*10 15050

Запуск .bat в PowerShell

Для запуска .bat файлов в PowerShell необходимо переместится в каталог с нужным .bat или .cmd файлом при помощи команды cd c:\script и там набрать его имя вместе с расширением PS > ./flush.bat или без него PS > ./flush при этом уточнить в консоли PowerShell место запуска ./ .bat или .cmd файла или же указать в консоли PowerShell полный путь к .cmd или .bat файлу.

P.S. Если на этой странице вы не нашли ответа на свой вопрос задайте его в комментариях незабыв при этом подписаться на получение ответа на него!

Автор: Олег Головский

Рекомендуемый контент

Об авторе

АдМинь БагоИскатель ярый борец за безглючную работу любых механизмов и организмов во всей вселенной и потому пребывает в вечном поиске всяческих багов, а тот кто ищет как известно всегда находит. Когда что-то или кого-то вылечить не в состоянии, то со словами "Я в аду, а вы все черти" уходит в запой выйдя из которого снова берётся лечить неизлечимое.

Ещё статьи автора

www.remoteshaman.com

Как с помощью PowerShell завершать процессы в Windows 10

Завершить в принудительном режиме зависший или ненужный процесс в Windows можно несколькими способами — с помощью Диспетчера задач, командной строки, сторонних утилит вроде Process Explorer. Также это можно сделать с помощью оболочки PowerShell — более совершенного аналога командной строки CMD, которая в будущем должна будет заменить собою последнюю.

Для завершения процессов в PowerShell предусмотрен отдельный командлет Stop-Process, позволяющий «убивать» один или несколько процессов сразу. Способов завершения процесса в PowerShell два — через идентификатор процесса и через его имя, используйте какой вам удобнее. Относящийся к первому способу командлет имеет такой синтаксис:

Где id_process — идентификатор процесса.

Для получения списка ID активных процессов используется командлет Get-Process. Допустим, вы хотите завершить зависший браузер Edge. Выполните в PowerShell команду Get-Process и посмотрите, какой ID имеет процесс MicrosoftEdge.

В данном примере это 2196. Следовательно, команда завершения будет такой:

Выполните её и работа Edge будет немедленно завершена.

Вместо идентификатора можно использовать имя процесса, только в этом случае потребуется указать ключ –processname. Вот так:

Stop-Process -processname MicrosoftEdge

Stop-Process -processname MicrosoftEdge

Результат будет точно таким же.

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

Stop-Process -processname MicrosoftEdge, regedit

Stop-Process -processname MicrosoftEdge, regedit

Вышеприведённая команда завершит работу сразу двух программ — браузера Edge и редактора реестра.

Тут, пожалуй, стоит сказать о некоторой особенности командлета Stop-Process. Если с его помощью вы попробуете завершить работу Проводника, то последний будет перезапущен, а не закрыт.

И последнее.

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

www.white-windows.ru