Команды PowerShell для Windows, App FoldersКоманды PowerShell для Windows, App Foldersсообщение навигации

Шаг 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
щебет щебет
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector