Команды PowerShell для Windows, App FoldersКоманды PowerShell для Windows, App Foldersсообщение навигации
Содержание:
- Шаг 4 получение помощи по параметрам
- Интересные нововведения
- Запуск Windows PowerShell в более ранних версиях WindowsHow to Start Windows PowerShell on Earlier Versions of Windows
- Сравнение командлетов с аналогичными командами
- Командлеты используют стандартные параметрыCmdlets use standard parameters
- PowerShell 2.0
- Команда Generic PowerShell Командлет Используйте с осторожностью.
- Чем PowerShell отличается от других оболочек
- Приложений Windows системные папки и их соответствующие окна App имена
- Шаг 1 установка
- Установка
- Приложений Windows папки и их соответствующие окна App имена
Шаг 4 получение помощи по параметрам
На скриншоте help dir вы могли заметить два списка под SYNTAX для get-childitem. Наличие двух разных синтаксисов означает возможность применения двух способов запуска командлет. Как держать синтаксис отдельно друг от друга и что означают параметры? Ответ простой, если знать трюк.
Для получения подробностей относительно параметров командлеты get-childitem или любой другой используйте параметр -full:
get-help get-childitem -full
Это выдает список того, что вы можете сделать с командлетой и что случится. Смотрите на скриншот.
Просмотр описания параметров позволяет заметить, что get-childitem даёт возможность получить объект child (вроде названия подпапки или имени файла) в указанном месте, с совпадением определённых символов или без. Например:
get-childItem “*.txt” -recurse
возвращает список файлов «*.txt» в текущей папке и всех подпапках (из-за параметра -recurse). Тогда как
get-childitem “HKLM:\Software”
возвращает список всех ключей реестра верхнего уровня в HKEY_LOCAL_MACHINE\Software.
Если вы когда-нибудь пытались попасть в реестр при помощи командной строки Windows или файлов .bat, вы сможете оценить функциональность этого варианта доступа.
Интересные нововведения
Кроме описанных выше синтаксических конструкций, позволяющих автоматизировать различные задачи системного администрирования, PowerShell обладает также и рядом принципиально новых решений, таких как демонстрации возможных последствий работы сценария. То есть с помощью конструкции -whatif демонстрируется то, что будет сделано, и предсказывается эффект, но никаких изменений в системе и действий над объектами не производится. Приведу пример работы небольшого сценария, в котором рекурсивно обходится папка c:\Program Files, ищет файлы *.ini и пытается их удалить:
> get-childitem «c:\Program Files» -include *.ini -recurse | remove-item –whatif
What if: Performing operation «Remove File» on Target
«C:\Program Files\ABBYY Lingvo 12\LingvoCE\Setup.ini».
What if: Performing operation «Remove File» on Target
«C:\Program Files\ABBYY Lingvo 12\LingvoPalm\SetupPalm.ini».
What if: Performing operation «Remove File» on Target
«C:\Program Files\ABBYY Lingvo 12\BITSetup.ini».
What if: Performing operation «Remove File» on Target
«C:\Program Files\Adobe\Acrobat 7.0\Setup Files\RdrBig709\ENU\0x009.ini».
What if: Performing operation «Remove File» on Target
«C:\Program Files\Adobe\Acrobat 7.0\Setup Files\RdrBig709\ENU\Abcy.ini».
В результате работы сценария система сообщает нам о найденных файлах и действиях, которые могли бы быть применены к этим файлам, но сами файлы не удаляются.
Запуск Windows PowerShell в более ранних версиях WindowsHow to Start Windows PowerShell on Earlier Versions of Windows
В этом разделе объясняется, как запустить Windows PowerShell и интегрированную среду скриптов Windows PowerShell (ISE) в Windows 7, Windows Server 2008 R2 и Windows Server 2008.This section explains how to start Windows PowerShell and Windows PowerShell Integrated Scripting Environment (ISE) on Windows 7, Windows Server 2008 R2, and Windows Server 2008. Кроме того, здесь поясняется, как включить дополнительный компонент Windows PowerShell ISE в Windows PowerShell 2.0 в ОС Windows Server 2008 R2 и Windows Server 2008.It also explains how to enable the optional feature for Windows PowerShell ISE in Windows PowerShell 2.0 on Windows Server 2008 R2 and Windows Server 2008.
Используйте любой из следующих методов для запуска установленной версии Windows PowerShell 3.0 или Windows PowerShell 4.0, где это возможно.Use any of the following methods to start the installed version of Windows PowerShell 3.0, or Windows PowerShell 4.0, where applicable.
Из меню «Пуск»From the Start Menu
- Нажмите кнопку Пуск, введите PowerShell и выберите Windows PowerShell.Click Start, type PowerShell, and then click Windows PowerShell.
- В меню Пуск выберите Пуск, Все программы, Стандартные, откройте папку Windows PowerShell и щелкните Windows PowerShell.From the Start menu, click Start, click All Programs, click Accessories, click the Windows PowerShell folder, and then click Windows PowerShell.
В командной строкеAt the Command Prompt
В Cmd.exe, Windows PowerShell или интегрированной среде сценариев Windows PowerShell для запуска Windows PowerShell введите следующее:In Cmd.exe, Windows PowerShell, or Windows PowerShell ISE, to start Windows PowerShell, type:
Можно также использовать параметры программы PowerShell.exe для настройки сеанса.You can also use the parameters of the PowerShell.exe program to customize the session. Дополнительные сведения см. в статье Справка по командной строке PowerShell.exe.For more information, see PowerShell.exe Command-Line Help.
Сравнение командлетов с аналогичными командами
В следующей таблице содержится выборка командлетов, поставляющихся с PowerShell, с приведением максимально похожих команд из других широко известных оболочек командной строки.
Следует отметить, что данная таблица приводится для поверхностного ознакомления, она не охватывает всех возможностей представленных оболочек.
Windows PowerShell(Cmdlet) | Windows PowerShell(Alias) | cmd.exe / COMMAND.COM(MS-DOS, Windows, OS/2, etc.) | Bash(Unix, BSD, Linux, Mac OS X и т. п.) | Описание |
---|---|---|---|---|
Get-Location | gl, pwd | cd | pwd | Отображает текущий рабочий каталог |
Set-Location | sl, cd, chdir | cd, chdir | cd | Меняет текущий каталог |
Clear-Host | cls, clear | cls | clear | Очищает экран |
Copy-Item | cpi, copy, cp | copy | cp | Копирует один или несколько файлов или дерево каталогов (в PowerShell также можно копировать объекты других поставщиков данных) |
Get-Help | help, man | help | man | Справка по командам |
Remove-Item | ri, del, erase, rmdir, rd, rm | del, erase, rmdir, rd | rm, rmdir | Удаляет файл/каталог (или другой элемент в поставщиках данных PowerShell). |
Rename-Item | rni, ren | ren, rename | mv | Переименовывает файл/каталог |
Move-Item | mi, move, mv | move | mv | Перемещает файл/каталог в новое местоположение |
Get-ChildItem | gci, dir, ls | dir | ls | Выводит все файлы/каталоги в текущем каталоге |
Write-Output | echo, write | echo | echo | Выводит строки, переменные на стандартный вывод |
Pop-Location | popd | popd | popd | Изменяет текущий каталог на тот, который был последним помещён в стек |
Push-Location | pushd | pushd | pushd | Помещает текущий каталог в стек |
Set-Variable | sv, set | set | set | Установка значения переменной/создание переменной |
Get-Content | gc, type, cat | type | cat | Получает содержимое файла |
Select-String | sls | find, findstr | grep | Выводит строки, подходящие под условие |
Get-Process | gps, ps | tlist, tasklist | ps | Выводит все запущенные процессы |
Stop-Process | spps, kill | kill, taskkill | kill | Останавливает запущенный процесс |
Tee-Object | tee | n/a | tee | Передаёт входные данные в файл или переменную, затем передаёт их дальше по конвейеру |
Командлеты используют стандартные параметрыCmdlets use standard parameters
Как отмечалось ранее, команды, используемые в распространенных интерфейсах командной строки не всегда имеют согласованные имена параметров.As noted earlier, commands used in traditional command-line interfaces don’t always have consistent parameter names. Имена параметров часто состоят из одного символа или аббревиатуры. Их удобно вводить, но сложно понять новым пользователям.Parameters are often single-character or abbreviated words that are easy to type but aren’t easily understood by new users.
В отличие от большинства других распространенных интерфейсов командной строки PowerShell обрабатывает параметры непосредственно. Наряду с руководством для разработчиков это позволяет стандартизировать имена параметров.Unlike most other traditional command-line interfaces, PowerShell processes parameters directly, and it uses this direct access to the parameters along with developer guidance to standardize parameter names. Так как это руководство содержит рекомендации, не командлеты будут унифицированными.This guidance encourages but does not guarantee that every cmdlet conforms to the standard.
Разделитель параметров в PowerShell также является стандартным.PowerShell also standardizes the parameter separator. В команде PowerShell имени параметра всегда предшествует символ дефиса (-).Parameter names always have a ‘-‘ prepended to them with a PowerShell command. Рассмотрим следующий пример.Consider the following example:
Имя параметра — это Name. Чтобы использовать такой параметр командной строке, мы введем .The parameter’s name is Name, but it is typed as when used on the command line as a parameter.
Далее приводятся некоторые из общих характеристик обычных имен параметров и использования этих параметров.Here are some of the general characteristics of the standard parameter names and usages.
Параметр справки: Help, ?The Help parameter (?)
Задав параметр в любом командлете PowerShell, можно получить справку по этому командлету.When you specify the parameter on any cmdlet, PowerShell displays help for the cmdlet.
При этом командлет не выполняется.The cmdlet is not executed.
Общие параметрыCommon parameters
В PowerShell есть несколько общих параметров.PowerShell has several common parameters. Эти параметры интерпретируются непосредственно модулем PowerShell.These parameters are controlled by the PowerShell engine. Общие параметры интерпретируются одинаково в любом командлете.Common parameters always behave the same way. Общие параметры — это WhatIf, Confirm, Verbose, Debug, Warn, ErrorAction, ErrorVariable, OutVariable и OutBuffer.The common parameters are WhatIf, Confirm, Verbose, Debug, Warn, ErrorAction, ErrorVariable, OutVariable, and OutBuffer.
Рекомендуемые имена параметровRecommended parameter names
Интегрированные в PowerShell командлеты используют унифицированные имена для схожих параметров.The PowerShell core cmdlets use standard names for similar parameters. Использование таких имен не является обязательным, но в руководстве явно рекомендуется соблюдать согласованность.The use of these standard names is not enforced, but there is explicit guidance to encourage standardization.
Например, рекомендуемое имя параметра, который ссылается на компьютер, — это ComputerName, а не Server, Host, System, Node или другие распространенные варианты.For example, the recommended name for a parameter that refers to a computer is ComputerName, rather than Server, Host, System, Node, or some other common alternative. В числе других настоятельно рекомендуемых имен параметров — Force, Exclude, Include, PassThru, Path и CaseSensitive.Other important recommended parameter names are Force, Exclude, Include, PassThru, Path, and CaseSensitive.
PowerShell 2.0
Microsoft выпустила PowerShell 2.0 в составе Windows 7 и Windows Server 2008 R2. Windows PowerShell 2.0 предустановлен в этих системах. Исключением является режим установки Windows Server 2008 R2 в режиме Core, где PowerShell 2.0 можно доустановить вручную. Для более старых платформ он доступен в составе Windows Management Framework. PowerShell 2.0 вносит некоторые изменения в язык сценариев и API для встраивания, в дополнение к новым 240 командлетам.
Неполный список новых возможностей, включённых в PowerShell 2.0:
- PowerShell Remoting. Используя WS-Management, PowerShell 2.0 позволяет вызывать сценарии и командлеты на удалённых машинах (в том числе и на нескольких одновременно), отслеживать состояние их выполнения и получать результаты в виде объектов (через сериализацию-десериализацию). Также возможно устанавливать интерактивные сессии и сессии с ограниченной функциональностью.
- Фоновые работы. Возможность вызывать последовательности команд асинхронно. Работы можно запускать на локальной машине или на нескольких удалённых машинах. Работы не могут использовать интерактивные командлеты.
- Транзакции. Позволяют разработчикам командлетов и поставщиков реализовывать транзакционные операции. PowerShell 2.0 включает командлеты для инициализации, подтверждения и отката транзакций и возможности для управления транзакциями и использования их в командлетах и поставщиках.
- Advanced Functions. Возможность разрабатывать полноценные командлеты, используя только сам PowerShell.
- SteppablePipelines. Позволяет пользователю контролировать вызов функций , и при вызове командлета.
- Модули. Позволяют авторам сценариев и администраторам организовывать сценарии PowerShell и помещать их в самодостаточные модули. Код из модуля выполняется в своем собственном, независимом контексте и не влияет на окружение вне модуля. Используя сценарий, модули могут объявлять ограниченное окружение. Модули могут содержать публичные и приватные функции и переменные.
- Язык данных. Подмножество языка PowerShell, которое позволяет отделять определения данных от исполняемого кода сценариев и даёт возможность импортировать в сценарий локализованные строки в процессе выполнения.
- Отладка сценариев. Возможность устанавливать точки прерывания (англ. breakpoints) в сценариях или функциях PowerShell. Точки прерывания могут быть установлены на строки, столбцы, команды или операции чтения и/или записи переменных. Присутствуют командлеты для установки и контроля точек прерывания в сценариях.
- Eventing (событирование). Эта возможность позволяет слушать, перенаправлять, и выполнять действия при возникновении событий управления или системы. Благодаря событированию хосты PowerShell могут быть оповещены о изменениях состояния в управляемых объектах. Также позволяет сценариям подписываться на ObjectEvents, PSEvents и WmiEvents и обрабатывать их синхронно и асинхронно.
- Windows PowerShell Integrated Scripting Environment (ISE). PowerShell 2.0 включает графическую оболочку для языка, в которую входят встроенный отладчик, подсветка синтаксиса, автозавершение команд. Оболочка позволяет запускать несколько независимых консолей PowerShell с полной поддержкой Юникода в интерфейсе с закладками. Благодаря поддержке удалённого выполнения некоторые консоли могут выполняться и на других компьютерах. Кроме того, ISE позволяет выполнять только выделенные части сценариев, содержит встроенный редактор и позволяет расширять и дополнять свой интерфейс с помощью PowerShell.
- BITS Transfer — встроенная поддержка передачи файлов по сети с приоритизацией, многопоточностью, возобновлением и асинхронной работой на основе технологии Background Intelligent Transfer Service.
- Множество новых командлетов, включая, например, , позволяющий вывести результаты конвейера в графическую таблицу (на основе WPF), с возможностями сортировки и мгновенного поиска.
- Новые операторы , и оператор подстановки ().
- Обработка ошибок с . В отличие от других .NET языков, в PowerShell можно указывать несколько типов исключений для одного блока .
- Блочные комментарии. PowerShell 2.0 поддерживает блочные комментарии (плюс к уже имеющимся построчным ) с использованием
- Новые API добавили разные возможности, от большего контроля над парсером PowerShell до способности создавать ограниченные сессии (англ. restricted runspace), в которых можно выполнять лишь ограниченный набор инструкций и команд PowerShell.
Команда Generic PowerShell Командлет Используйте с осторожностью.
Он запускается, чтобы исправить Windows, 10 Программы не работают & Система Windows приложения не работают вопросы и использовать хорошо работать с Windows, 10 10240 строит.
тем не мение, если Generic Командлет работает в ОС Windows 10 версия 1511 (Ноябрь обновление сборки 10586) он щурит 15 другие приложения для Windows, хотя это может решить проблемы с Windows, Системные приложения. Она удаляет части папки установки Windows Apps при запуске командлета.
Команда Generic PowerShell Командлет хорошо работает без каких-либо проблем в Windows 10 Обновление апреля. Он может работать, чтобы исправить проблемы с приложением Windows, только с этой командой один командлетов. тем не мение, Я еще столкнуться с проблемами с обновлением апреля в отношении приложения для Windows. Он не будет завинтить другие приложения.
Чем PowerShell отличается от других оболочек
Задачи автоматизации различных операций, выполняемых системными администраторами, существуют со времен появления первых локальных сетей. Для решения этих задач используются разные программные средства, однако самым распространенным является написание сценариев, например, на языке VBScript или Perl. Но в последнее время все большую популярность получает Windows PowerShell, новая командная оболочка Windows, разработанная в первую очередь для системных администраторов. Она включает интерактивную командную строку и среду исполнения сценариев, которые можно использовать вместе или по отдельности. Ранее PowerShell именовался Monad и поставлялся в виде отдельного приложения, но в Windows Server 2008 (который, по официальным данным, выйдет в феврале следующего года) данный инструмент будет установлен по умолчанию. Также стоит отметить, что Powershell будет работать не только на Server 2008, но и на любой системе, где есть .Net 2.0 (Windows XP, Vista, Server 2003). В отличие от большинства оболочек, которые принимают и возвращают текст, оболочка Windows PowerShell, разработанная на основе среды CRL .NET и платформы .NET Framework, принимает и возвращает объекты .NET, а также использует в своей работе только объекты. Это фундаментальное изменение делает возможным применять совершенно новые средства и методы администрирования и конфигурирования систем Windows.
Как и многие другие оболочки, Windows PowerShell обеспечивает доступ к файловой системе на компьютере. Кроме того, в состав оболочки Windows PowerShell входят поставщики, позволяющие столь же легко работать с другими хранилищами данных, такими как реестр и сертификаты цифровых подписей.
Поговорим о том, какие средства предлагает данный инструмент системным администраторам и какие задачи можно решать с его помощью. Большинство оболочек, в том числе знакомая каждому админу Cmd.exe и оболочки SH, KSH, CSH и BASH систем UNIX, выполняют команду или служебную программу в новом процессе и представляют результаты пользователю в виде текста. За время существования этих оболочек были разработаны многие программы обработки текста, поддерживающие этот механизм взаимодействия, такие как sed, AWK и PERL. Некоторые команды встроены в эти оболочки и выполняются в процессе самой оболочки. Примерами могут служить команды typeset и dir в оболочках KSH и Cmd.exe соответственно. В большинстве оболочек встроенных команд немного, поэтому для них создано большое число служебных программ.
Однако Windows PowerShell сильно отличается от других оболочек:
n Windows PowerShell обрабатывает не текст, а объекты платформы .NET. Также PowerShell позволяет напрямую вызывать объекты .Net и таким образом управлять любыми Com ActiveX сущностями.
n Windows PowerShell включает множество встроенных команд, имеющих унифицированный интерфейс. Таких, например, как команды для работы с WMI (Get-WmiObject).
n Все команды оболочки обрабатываются одним синтаксическим анализатором, в то время как во многих других оболочках каждому средству соответствует отдельный анализатор. Это значительно облегчает изучение команд.
n Powershell позволяет запускать унаследованные VBS-сценарии, так что вы без труда сможете использовать уже имеющиеся наработки.
И что самое важное: в оболочке Windows PowerShell можно использовать традиционные средства Windows, такие как Net, SC и Reg.exe. Думаю, всем администраторам приходилось неоднократно сталкиваться с данными средствами, и возможность использовать их в своих сценариях будет также не лишней.
Приложений Windows системные папки и их соответствующие окна App имена
Microsoft.MicrosoftEdge_8wekyb3d8bbwe | Microsoft Край |
Microsoft.Windows.Cortana_cw5n1h2txyewy | Кортана |
ShellExperienceHost_cw5n1h2txyewy | Стартовое меню |
ContactSupport_cw5n1h2txyewy | Контактная поддержка |
ParentalControls_cw5n1h2txyewy | Родительский контроль |
Microsoft.Windows.SecondaryTileExperience_cw5n1h2txyewy | Окна Secondary Tiles |
Microsoft.Windows.CloudExperienceHost_cw5n1h2txyewy | Регистрация Azure AD |
WindowsFeedback_cw5n1h2txyewy | Окна Обратная связь |
Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy | Окна прожектор |
Microsoft.LockApp_cw5n1h2txyewy | Экран блокировки |
Microsoft.BioEnrollment_cw5n1h2txyewy | Face Unlock |
Microsoft.AAD.BrokerPlugin_cw5n1h2txyewy | Поиск |
Шаг 1 установка
Для начала нам необходима сама утилита PowerShell. Если вы работаете с Windows 10, у вас уже установлена версия PowerShell 5. Обновление Windows 10 Anniversary Update использует версию 5.1, но разница незаметна. В Windows 8 и 8.1 применяется PowerShell 4, чего тоже вполне достаточно. Установка PowerShell на Windows 7 не доставит проблем, но всё же пару лишних шагов придется сделать. В частности, нужно дополнительно установить .Net Framework. Можно установить Windows Management Framework, в состав которого входит PowerShell.
У PowerShell есть два интерфейса. Опытные пользователи могут выбрать полноценный графический интерфейс, известный как Integrated Scripting Environment (ISE). Новичкам лучше использовать консоль PowerShell, простой текстовый интерфейс в стиле командной строки Windows или даже DOS 3.2.
Для запуска PowerShell от имени администратора в Windows 10 нажмите на кнопку «Пуск» и прокрутите список приложений до Windows PowerShell. В Windows 8.1 ищите Windows PowerShell в папке System в Windows. В Windows 7 оболочка располагается в папке Accessories. В качестве обычного пользователя PowerShell можно запустить точно так же, используя левую кнопку мыши вместо правой.
В любой версии Windows можно применить поиск. Для удобства дальнейшего использования можно закрепить PowerShell на панели задач.
Установка
PowerShellSetup_x86_enu.exe /quiet
Так что вы можете без труда развернуть оболочку сразу на большом количестве машин. После установки PowerShell вам достаточно набрать в командной строке Windows PowerShell, и вы окажетесь в командной строке данной оболочки. Наберите «help», как видите, PowerShell содержит множество различных команд
Отдельно хотелось бы отметить те команды, которые пришли из мира UNIX. На самом деле эти команды являются только алиасами к реальным командам Power Shell. Сделано это специально для удобства работы администраторов, привыкших к UNIX-среде. Для того чтобы получить список таких алиасов, наберите команду alias
Строго говоря, это еще не все, при необходимости вы можете создавать свои командлеты (команды), специальные оснастки позволят вам без труда добавить их в оболочку.
Но пока напишем несколько простых сценариев с помощью имеющегося набора команд:
Листинг 1. Получение времени на локальной машине
$strComputer = "." $colItems = get-wmiobject -class "Win32_UTCTime" -namespace "root\CIMV2" -computername $strComputer foreach ($objItem in $colItems) { write-host "Day: " $objItem.Day write-host "Day Of Week: " $objItem.DayOfWeek write-host "Hour: " $objItem.Hour write-host "Milliseconds: " $objItem.Milliseconds write-host "Minute: " $objItem.Minute write-host "Month: " $objItem.Month write-host "Quarter: " $objItem.Quarter write-host "Second: " $objItem.Second write-host "Week In Month: " $objItem.WeekInMonth write-host "Year: " $objItem.Year write-host }
Как видите, синтаксис похож на VBScript, так что особых проблем с изучением возникнуть не должно. Сохраняем в текстовом файле с расширением PS1.
Приложений Windows папки и их соответствующие окна App имена
В приведенной ниже таблице показаны приложения Windows, которые вы обычно знаете, и соответствующие им для Windows App имена, перечисленные в ОС Windows App Folders. Эти знания необходимы, если вы хотите запустить PowerShell команд для соответствующих Служб Windows,.
Аварийные сигналы и часы | windowsalarms |
Калькулятор | windowscalculator |
Календарь и Почта | windowscommunicationsapps |
камера | windowscamera |
хранить | windowsstore |
Карты | windowsmaps |
Телефон Companion | телефон с операционной системой Виндоус |
Телефон | commsphone |
люди | люди |
Фото | фото |
Диктофон | soundrecorder |
Microsoft Wi-Fi | connectivitystore |
Groove Music | zunemusic |
Фильмы & ТВ | zunevideo |
обмен сообщениями + Skype | обмен сообщениями |
Загрузить Skype | skypeapp |
Начать | начать |
Получить офис | officehub |
раскачивание | office.sway |
Одна запись | одна запись |
3D Builder | 3dbuilder |
Деньги | bingfinance |
Новости | bingnews |
Спортивный | bingsports |
Погода | bingweather |
Solitaire Collection | solitairecollection |
Candy Crush Saga | Candy Crush Saga |
Xbox | xboxapp |
Xbox One SmartGlass | xboxonesmartglass |
App Connector | appconnector |
сканирование | windowsscan |
щебет | щебет |