Установка PowerShellGet — PowerShell | Microsoft Docs
- Чтение занимает 3 мин
В этой статье
Модуль PowerShellGet входит в комплект поставки в следующих выпусках:
Получение последней версии из коллекции PowerShell
Перед обновлением PowerShellGet всегда устанавливайте последний поставщик NuGet. Откройте сеанс PowerShell с повышенными привилегиями и выполните следующую команду.
Install-PackageProvider -Name NuGet -Force
Важно!
Начиная с апреля 2020 года коллекция PowerShell не поддерживает протокол TLS (Transport Layer Security) версий 1.0 и 1. 1. Если вы не используете TLS 1.2 или более поздней версии, при попытке доступа к коллекции PowerShell возникнет ошибка. Чтобы проверить, используется ли TLS 1.2, выполните следующую команду:
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
Дополнительные сведения см. в объявлении в блоге, посвященном PowerShell.
Для систем с PowerShell 5.0 (или более поздней версии) можно установить последнюю версию PowerShellGet
Чтобы установить PowerShellGet в Windows 10, Windows Server 2016, а также любой системе с WMF 5.0, 5.1 или PowerShell 6, выполните следующие команды из сеанса PowerShell с повышенными привилегиями.
Install-Module -Name PowerShellGet -Force
Update-Module
позволяет получить более новые версии.
Update-Module -Name PowerShellGet Exit
Для компьютеров с PowerShell 3.0 или 4.0
Эти инструкции применимы к компьютерам, на которых установлена предварительная версия PackageManagement или не установлены никакие версии PowerShellGet.
Командлет Save-Module
используется в обоих наборах инструкций. Save-Module
скачивает и сохраняет модуль и все зависимости из зарегистрированного репозитория. Самая последняя версия модуля сохраняется по указанному пути на локальном компьютере, но не устанавливается. Чтобы установить модули в PowerShell 3.0 или 4.0, скопируйте сохраненные папки модуля в
.
Дополнительные сведения см. в статье Save-Module.
Примечание
PowerShell 3.0 и 4.0 поддерживают только одну версию модуля. Начиная с версии PowerShell 5.0 модули устанавливаются в папку <modulename>\<version>
. Это позволяет устанавливать несколько версий параллельно. Скачав модуль с помощью Save-Module
, необходимо скопировать файлы из <modulename>\<version>
в папку <modulename>
на целевом компьютере, как показано в приведенных ниже инструкциях.
Подготовительные действия на компьютерах с PowerShell 3.
0$env:ProgramFiles\WindowsPowerShell\Modules
. В PowerShell 3.0 этот каталог отсутствует в $env:PSModulePath
по умолчанию, поэтому его необходимо добавить, чтобы модули загружались автоматически.Откройте сеанс Windows PowerShell с повышенными привилегиями и выполните в нем следующую команду (действие будет заметно в будущих сеансах).
[Environment]::SetEnvironmentVariable(
'PSModulePath',
((([Environment]::GetEnvironmentVariable('PSModulePath', 'Machine') -split ';') + "$env:ProgramFiles\WindowsPowerShell\Modules") -join ';'),
'Machine'
)
Компьютеры с установленной предварительной версией PackageManagement
Примечание
Предварительная версия PackageManagement была загружаемым компонентом, который обеспечивал доступность PowerShellGet для PowerShell версий 3 и 4, но сейчас он недоступен. Чтобы проверить, установлен ли он на данном компьютере, выполните Get-Module -ListAvailable PowerShellGet
.
В сеансе PowerShell используйте
Save-Module
, чтобы скачать текущую версию PowerShellGet. Скачиваются две папки: PowerShellGet и PackageManagement. Каждая папка содержит вложенную папку с номером версии.Save-Module -Name PowerShellGet -Path C:\LocalFolder -Repository PSGallery
Убедитесь, что модули PowerShellGet и PackageManagement не загружаются в других процессах.
Снова откройте консоль PowerShell с повышенными привилегиями, а затем выполните следующую команду.
'PowerShellGet', 'PackageManagement' | % { $targetDir = "$env:ProgramFiles\WindowsPowerShell\Modules\$_" Remove-Item $targetDir\* -Recurse -Force Copy-Item C:\LocalFolder\$_\*\* $targetDir\ -Recurse -Force }
Компьютеры без PowerShellGet
Если на компьютере нет какой-либо версии PowerShellGet (проверьте это командой Get-Module -ListAvailable PowerShellGet
На компьютере с установленным PowerShellGet используйте
Save-Module
, чтобы скачать текущую версию PowerShellGet. Скачиваются две папки: PowerShellGet и PackageManagement. Каждая папка содержит вложенную папку с номером версии.Save-Module -Name PowerShellGet -Path C:\LocalFolder -Repository PSGallery
Скопируйте соответствующую вложенную папку
<version>
в папках PowerShellGet и$env:ProgramFiles\WindowsPowerShell\Modules\PowerShellGet\
и$env:ProgramFiles\WindowsPowerShell\Modules\PackageManagement\
соответственно (требуется сеанс с повышенными правами).Например, если у вас есть доступ к папке загрузки на другом компьютере (скажем,
ws1
), с целевого компьютера по UNC-пути (допустим,\\ws1\C$\LocalFolder
) откройте консоль PowerShell с повышенными правами и выполните следующую команду.'PowerShellGet', 'PackageManagement' | % { $targetDir = "$env:ProgramFiles\WindowsPowerShell\Modules\$_" $null = New-Item -Type Directory -Force $targetDir $fromComputer = 'ws1' # Specify the name of the other computer here. Copy-Item \\$fromComputer\C$\LocalFolder\$_\*\* $targetDir -Recurse -Force if (-not (Get-ChildItem $targetDir)) { Throw "Copying failed." } }
Get-Command
Возвращает базовые сведения о командлетах и о других элементах команд Windows PowerShell.
Get-Command [[-Name] <string[]>] [-CommandType {<Alias> | <Function> | <Filter> | <Cmdlet> | <ExternalScript> | <Application> | <Script> | <All>}] [[-ArgumentList] <Object[]>] [-Module <string[]>] [-Syntax] [-TotalCount <int>] [<CommonParameters>] Get-Command [-Noun <string[]>] [-Verb <string[]>] [[-ArgumentList] <Object[]>] [-Module <string[]>] [-Syntax] [-TotalCount <int>] [<CommonParameters>]
Командлет Get-Command возвращает базовые сведения о командлетах и других элементах команд Windows PowerShell в сеансе, таких как псевдонимы, функции, фильтры, скрипты и приложения.
Get-Command получает данные непосредственно из кода командлета, функции, скрипта или псевдонима в отличие от Get-Help, который получает информацию из файлов справки.
При вызове без параметров Get-Command получает все командлеты и функции в текущем сеансе. «Get-Command *» получает все элементы Windows PowerShell и все файлы, не относящиеся к Windows-PowerShell, в переменной среды Path ($env:path). Он группирует файлы в команде типа «Application».
Для поиска команд, добавленных в сеанс путем добавления оснастки Windows PowerShell или импорта модуля, можно использовать параметр Module Get-Command.
-ArgumentList <Object[]>
Получает данные о командлете или функции, используемых с указанными параметрами («аргументами»), такими как путь. Псевдоним ArgumentList — Args.
Для определения параметров, добавленных к командлету при его использовании с определенным провайдером, установите значение ArgumentList равным пути на диске поставщика, например «HKEY_LOCAL_MACHINE\Software» или «cert:\my».
Обязательно? |
false |
Позиция? |
2 |
|
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-CommandType <CommandTypes>
Получает только команды указанных типов. Используйте «CommandType» или псевдоним «Type». По умолчанию командлет Get-Command получает командлеты и функции.
Допустимые значения:
— Alias: все псевдонимы Windows PowerShell в текущем сеансе.
— All: команды всех типов. Эквивалентно «get-command *».
— Application: все файлы, отличные от файлов Windows PowerShell, которые присутствуют в путях, указанных в переменной среды Path ($env:path), в том числе файлы TXT, EXE и DLL.
— Cmdlet: командлеты в текущем сеансе. По умолчанию используется значение «Cmdlet».
— ExternalScript: все файлы PS1, которые присутствуют в путях, указанных в переменной среды Path ($env:path).
— Filter и Function: все функции Windows PowerShell.
— Script: блоки скриптов в текущем сеансе.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Module <string[]>
Получает команды, которые поставляются с определенными модулями или оснастками. Введите имена модулей или оснасток или введите объекты оснасток или модулей.
Можно обращаться к этому параметру по его имени (Module) или его псевдониму (PSSnapin). Выбранное имя параметра не влияет на результаты выполнения команды или ее выходные данные.
Этот параметр принимает строковые значения, но также можно предоставить объект PSModuleInfo или PSSnapinInfo, например объекты, возвращаемые Get-Module, Get-PSSnapin и Import-PSSession.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
нет |
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Name <string[]>
Получает сведения только о командлетах или элементах команды с указанным именем. <Строка> представляет целое имя или часть имени командлета или элемента команды. Подстановочные знаки разрешены.
Для перечисления команд с одинаковыми именами в порядке выполнения введите имя команды без подстановочных знаков. Дополнительные сведения см. в разделе «Примечания».
Обязательно? |
false |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByValue, ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Noun <string[]>
Получает командлеты или функции с именами, в которых содержится указанное существительное. <Строка> представляет одно или несколько существительных или шаблонов существительных, таких как «process» или «*item*». Подстановочные знаки разрешены.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Syntax
Получает только указанные данные об элементе команды.
* Для псевдонимов извлекается стандартное имя.
* Для командлетов извлекается синтаксис.
* Для функций и фильтров извлекается определение функции.
* Для скриптов и приложений (файлов) извлекаются путь и имя файла.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-TotalCount <int>
Получает только указанное количество элементов команды. Этот параметр позволяет ограничить объем выходных данных команды.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Verb <string[]>
Получает данные о командлетах и функциях с именами, в которых содержится указанный глагол. <Строка> представляет один или несколько глаголов или шаблонов глаголов, таких как «remove» или «*et». Подстановочные знаки разрешены.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
При вызове без параметров команда «Get-Command» возвращает сведения о командлетах и функциях Windows PowerShell. Для точного указания возвращаемых элементов воспользуйтесь параметрами.
В отличие от команды Get-Help, которая отображает содержимое разделов XML-файлов справки, команда Get-Command получает информацию о командлетах непосредственно из кода командлетов, установленных в системе.
Командлет Get-Command возвращает команды в алфавитном порядке. Когда в сеансе имеется более одной команды с одним и тем же именем, командлет Get-Command возвращает команды в порядке их выполнения. Первой возвращаемой командой является команда, выполняемая при вводе имени команды без указания ее полного имени. Дополнительные сведения см. в разделе about_Command_Precedence.
C:\PS>get-command | where-object {$_.definition -like "*first*"} CommandType Name Definition ----------- ---- --------- Cmdlet Select-Object Select-Object [[-Property] Description ----------- Эта команда находит командлет или функцию на основании имени одного из параметров. Эту команду можно использовать для определения командлета или функции, если удается вспомнить только имя одного из параметров. В данном примере известно, что у одного командлета или функции есть параметр First, который позволяет получить первые "n" объектов в списке, но неизвестно имя командлета. В команде используется командлет Get-Command, позволяющий получить объект CmdletInfo, который представляет все командлеты и функции в сеансе. У объекта CmdletInfo есть свойство Definition, в котором содержится синтаксис командлета или функции с указанием всех параметров. Оператор конвейера (|) используется для передачи объекта CmdletInfo командлету Where-Object, который анализирует определение (синтаксис) каждого объекта ($_) и выполняет поиск значения "first". Результат выполнения команды показывает, что параметр First принадлежит командлету Select-Object.
PowerShell — Отличный блог про PowerShell
Чем может быть полезен PowerShell в Linux? Именно на этот вопрос я постарался ответить в статье. Тут приведены несколько примеров использования PowerShell для настройки Linux: работа с файлами, запуск программ Linux, редактирование. Это лишь идеи о том как можно использовать PowerShell Core на Linux. И статья написана все же для администраторов знакомых с PowerShell. Как […]
В Windows Server 2016 добавилась возможность подключения к хосту Hyper-V с другими учетными данными. Это можно использовать для подключения к другому хосту, который находится в другом домене или вообще к хостам, которые не добавлены в домен. Эта же возможность может быть использована на Windows 10/Windows Server 2019. Для этого необходимо: Запустить Hyper-V manager (диспетчер Hyper-V) […]
Кусочек забавного кода, которым можно удивить коллег. Он обращается к синтезатору речи и произносит фразу. Таким обзразом PowerShell можно заставить произносить предложения. Представляю панику бухгалтера, который услышит «Ваши действия караются увольнением» при попытке создать папку на рабочем столе 😉
Посмотрим каким образом можно выполнять различные запросы SQL, такие как Select, Insert, Update, используя PowerShell. Это может быть полезно для интеграции PowerShell с базами данных SQL. Речь пойдет про Access, MS SQL, а так же любые другие СУБД. Разбирать будем на примере моего скрипта из прошлого поста Чем открыть JSON из приложения проверка чеков? Например, […]
Данная статья написана для опытных пользователей, которые желают анализировать свои расходы самостоятельно, без использования каких-либо специальных программ, а только имея Excel и Access. В ней я показал каким образом можно открыть файл с чеками Json, полученный из мобильного приложения «проверка чеков», в Microsoft Access. Как получить данные из QR кода чека, для анализа Уже более […]
В данной статье рассмотрим возможности использования SSH между Windows и Linux компьютерами, а также использовании PowerShell через SSH в кроссплатформенной среде. Устанавливаем OpenSSH на Windows Начиная с Windows 10 1709 все очень просто. Нужно просто открыть приложение настроек. Далее выбираем приложения-> управление дополнительными компонентами-> сервер openssh и устанавливаем его. Или выполнить команду powershell
Get-WindowsCapability -Online | ? name -like *ssh* | Add-WindowsCapability -Online
Get-WindowsCapability -Online | ? name -like *ssh* | Add-WindowsCapability -Online |
Эта […]
Вообще я редко вижу смысл в том чтобы отлавливать ошибки в скриптах, но недавно ко мне попалась задача, где необходимо было обработать ошибки в скрипте PowerShell. Дело в том что данный скрипт использовался как часть работы System Center Orchestrator. Для этого я использовал Try/Catch/Finaly . Но все по порядку. Немного про ошибки Ошибки можно условно разделить […]
Данная статья была создана в дополнение к видео уроку PowerShell за 20 минут. В ней еще раз перечислены те принципы и подходы к PowerShell, которые позволят начать использовать PowerShell в своей работе. Введение в PowerShell — это описание основных команд PowerShell, описание процесса поиска команд и использование справки. Кратко изложены принципы конвейера команд, фильтрации результата […]
Совсем недавно опубликовали мой доклад на сайте TechDays.ru — PowerShell за 20 минут. Это видео урок PowerShell для начинающих. Основы работы в PowerShell. Структура команд, поиск команд, использование справки, использование PowerShell ISE, конвейер. Это необходимый базовые знания для каждого Windows администратора. Не забываем оценивать видео урок PowerShell.
На просторах интернета оказывается много всякого смешного есть. Вот и шутка про джедаев нашлась на PowerShell.
$search = Get-Droids | Where{$_ -notnear $jedi} If($search -eq $null){Move-Along}
$search = Get-Droids | Where{$_ -notnear $jedi} If($search -eq $null){Move-Along} |
Это конечно выполнить не выйдет. Но все равно забавно. p.s. сперто тут https://twitter.com/timbarrett/status/439477047413714944
Решение практических задач / Блог компании RUVDS.
com / ХабрВ предыдущих статьях мы разобрались с основами среды и достаточно подробно изучили язык программирования Microsoft PowerShell. Завершая цикл, мы рассмотрим работу с процессами и службами, реестром и журналами событий в распределенной среде, а также разберем некоторые способы администрирования операционной системы, настройки стороннего ПО и просмотра сведений об установленном оборудовании. Для этого в PowerShell активно применяются объекты различных типов, изучению которых были посвящены четвертая и пятая части цикла.
Оглавление:
Удаленное управление
Командлеты vs CIM/WMI
Управление процессами через CIM/WMI
Управление службами через CIM/WMI
Работа с реестром
Работа с журналами событий
Информация об ОС и оборудовании
Удаленное управление
PowerShell позволяет удаленно управлять одним или несколькими компьютерами. Для этого можно задействовать объекты .NET, CIM, WMI, поддерживающие соответствующую функцию командлеты, удаленный запуск команд или интерактивную удаленную сессию. Подключение осуществляется через PS remoting/WinRM по протоколу HTTP (порт 5985) или HTTPS (порт 5986, требуется сертификат SSL). По умолчанию соединение устанавливается по HTTP, но данные все равно шифруются с использованием симметричного ключа AES-256. Поддерживаются два способа аутентификации: NTLM и Kerberos (по умолчанию). Второй способ доступен, если удаленный компьютер входит в домен AD, а в Workgroup или если вместо доменного имени указан IP, применяется NTLM и требуется дополнительная настройка. На компьютере, к которому мы подключаемся, должен быть запущен сервис WinRM.
Если сервис не запущен, можно воспользоваться командлетом Enable-PSRemoting. Виртуальные машины RuVDS с Windows Server Core конфигурируются с настроенным из коробки удаленным доступом и никаких дополнительных действий не требуют. Для использования HTTP также придется добавить хост, к которому необходимо подключиться, в TrustedHost компьютера, с которого запускается команда. Если машина работает в глобальной сети, может потребоваться настройка брендмауэра. PS remoting/WinRM позволяет создавать удаленные сессии (New-PSSession, Get-PSSession, Enter-PSSession), выполнять команды и скрипты (Invoke-Command) на одном или нескольких компьютерах, а также использовать командлеты с параметром -ComputerName. Последнее справедливо и в отношении командлетов для работы с CIM/WMI. Более подробная информация доступна на сайте Microsoft.
Командлеты vs CIM/WMI
Хотя некоторые командлеты поддерживают параметр -ComputerName, возможности их применения для работы с хостами в сети ограничены. Создания сессий и удаленного выполнения команд PowerShell хватает не всегда, и тут нам помогут командлеты для работы с
WMI или CIM(иногда можно обойтись и NET-объектами). Использование CIM предпочтительнее, поскольку дальнейшая разработка и поддержка WMI в Windows прекращена. В обоих случаях используется Common Information Model (CIM) и экземпляры соответствующих классов. При необходимости можно
просматривать структурурезультирующих объектов,
фильтровать,
сортироватьи
выделятьих из коллекции, а также проводить
другие действиянад полученными результатами. При работе в интерактивном режиме текстовый вывод несложно
отформатировать, а в скриптах обычно обращаются к свойствам и методам объектов. Хотя командлеты WMI и CIM похожи, в первом случае нетрудно получить ссылку на конкретный объект (экземпляр класса) и непосредственно вызвать один из его методов без использования Invoke-WmiMethod. Результирующие CIM-объекты методов класса не содержат, поэтому вызывать командлет Invoke-CimMethod для управления придется обязательно.
Управление процессами через CIM/WMI
В предыдущих статьях мы довольно часто использовали Get-Process, который возвращает соответствующие запущенным в системе процессам объекты типа System.Diagnostics.Process. С помощью этого командлета можно получать сведения только о локальном компьютере, а чтобы работать с удаленной машиной, нам снова понадобятся командлеты CIM/WMI и класс Win32_Process. Приведем примеры используемых для работы с ним команд.
Get-WmiObject Win32_Process
или
Get-CimInstance Win32_Process
Предыдущие примеры иллюстрируют получение информации о запущенных на локальной машине процессах, для работы с удаленными компьютерами используется параметр -ComputerName:
Get-WmiObject Win32_Process -ComputerName IP_ADDRESS
Get-WmiObject Win32_Process -ComputerName NAME
или
Get-CimInstance Win32_Process -ComputerName IP_ADDRESS
Get-CimInstance Win32_Process -ComputerName NAME
Управление службами через CIM/WMI
Командлет Get-Service в актуальных реализациях поддерживает параметр -ComputerName, но позволяет только получить информацию о статусе сервиса на удаленной машине — управлять им через свойства и методы результирующих объектов не получится. Более правильным в распределенной среде подходом также считается использование
командлетов CIM и WMI. Как и для процессов, для служб в объектной модели CIM имеется специальный класс Win32_Service.
Get-WmiObject Win32_Service
или
Get-CimInstance Win32_service
Чтобы работать с удаленным компьютером, необходимо воспользоваться параметром -ComputerName:
Get-WmiObject Win32_Service -ComputerName IP_ADDRESS
Get-WmiObject Win32_Service -ComputerName NAME
или
Get-CimInstance Win32_service -ComputerName IP_ADDRESS
Get-CimInstance Win32_service -ComputerName NAME
Для уточняющих запросов используется параметр -Filter. Таким способом несложно выяснить, стартует служба автоматически или должна быть запущена вручную:
Get-Wmiobject Win32_service -Filter "StartMode <>'disabled'" | sort StartMode | format-table -GroupBy StartMode -Property Name,State,PathName -AutoSize
Аналогичным образом можно сгруппировать службы по учетной записи:
Get-Wmiobject Win32_service | group startname
Следующая команда возвращает все сервисы, запущенные от имени администратора:
Get-Wmiobject Win32_service -Filter "startname like '%administrator%'" | Select Name,startmode,state,startname,systemname
Для командлетов CIM фильтры работают аналогично:
Get-CimInstance Win32_service -filter "startmode='auto' AND state<>'Running'" | Select Name,State,Systemname
Для реальной работы важен не столько текстовый вывод командлетов, сколько сами бинарные объекты. С их помощью можно запускать и останавливать соответствующие службы, менять режим их запуска или устанавливать свойства. В случае с WMI методы объектов вызываются напрямую или через Invoke-WmiMethod. Для объектов CIM доступно только использование Invoke-CimMethod.
Работа с реестром
Системный реестр Windows — это имеющая древовидную структуру иерархическая база данных, содержащая информацию об аппаратной и программной конфигурации компьютера. Каждый ее узел — это содержащий другие узлы (записи базы данных) раздел либо имеющий некое значение ключ. Раздел может содержать вложенные подразделы: по структуре реестр напоминает файловую систему и для работы с ним в PowerShell есть виртуальные «диски». Просмотреть их можно с помощью командлета Get-PSDrive, а обратиться к соответствующему разделу — с помощью Set-Location (псевдоним cd).
«Диски» реестра содержат «каталоги» (разделы), подкаталоги «подразделы» и «файлы» (параметры). Для просмотра подразделов используется командлет Get-ChildItem (псевдоним dir), а для просмотра параметров: Get-ItemProperty. Разделы реестра представлены экземплярами .NET-класса Microsoft.Win32.RegistryKey, а параметры — System.Management.Automation.PSCustomObject. Чтобы получить доступ к системному реестру удаленной машины, придется напрямую использовать объекты .NET, WMI или CIM.
Работа с журналами событий
Журналы событий (Event logs) в Windows — важный для администратора инструмент, с помощью которого можно отслеживать состояние системы и приложений, а также оперативно анализировать возникающие проблемы. Обычно для работы нужны журнал безопасности (Security log), системный журнал (System log) и журнал приложений (Application log). В зависимости от установленных компонентов и настроенных ролей, на сервере могут быть и другие: журнал службы каталога (Directory service log), журнал службы каталога (Directory service log) или, например, журнал службы репликации файлов (File Replication Service log). Для их просмотра на локальной машине используется консоль управления MMC, а в PowerShell командлет Get-EventLog. Для работы с удаленными хостами можно воспользоваться соответствующими определенным журналам объектами CIM и WMI (экземплярами класса Win32_NTEventlogFile).
$Logs = Get-WmiObject Win32_NTEventlogFile
$Logs | Format-List
или
$Logs = Get-CimInstance Win32_NTEventlogFile
$Logs | Format-List
Пример иллюстрирует работу с локальными журналами, для подключения к удаленному компьютеру нужен параметр -ComputerName:
$Logs = Get-WmiObject Win32_NTEventlogFile -ComputerName NAME
$Logs | Format-List
или
$Logs = Get-CimInstance Win32_NTEventlogFile -ComputerName NAME
$Logs | Format-List
Информация об ОС и оборудовании
С помощью командлетов CIM и WMI можно получать разнообразную информацию от работающих в сети компьютеров, а также управлять ими. Для этих целей применяются командлеты CIM/WMI и соответствующие классы. Рассмотрим их использование на практических примерах.
Класс Win32_OperatingSystem решает множество разнообразных задач. С помощью его метода Win32Shutdown завершается сеанс пользователя:
(Get-WMIObject Win32_OperatingSystem).Reboot()
Для получения информации о BIOS потребуется класс Win32_BIOS
Get-WmiObject Win32_BIOS | Select-Object -Property * -ExcludeProperty __*
или
Get-CimInstance Win32_BIOS | Select-Object -Property * -ExcludeProperty __*
Вывод свойств операционной системы:
Get-WmiObject Win32_OperatingSystem | Select-Object –Property * -ExcludeProperty __*
или
Get-CimInstance Win32_OperatingSystem | Select-Object –Property * -ExcludeProperty __*
Класс Win32_QuickFixEngineering предназначен для получения списка установленных обновлений:
Get-WmiObject Win32_QuickFixEngineering
или
Get-CimInstance Win32_QuickFixEngineering
Завершая цикл публикаций, мы хотим напомнить, что PowerShell — нечто большее, чем просто командная оболочка. Скорее она напоминает гибрид Bash и SSH/SSHD с возможностью использования объектов .NET и объектной модели CIM. Это позволяет решать сложные задачи управления распределенной ИТ-средой, хотя и требует иногда громоздких синтаксических конструкций. Без знания PowerShell сегодня не обойдется ни один грамотный системный администратор Windows.
Часть 1: Основные возможности Windows PowerShell
Часть 2: Введение в язык программирования Windows PowerShell
Часть 3: Передача параметров в скрипты и функции, создание командлетов
Часть 4: Работа с объектами, собственные классы
Часть 5: Доступ к внешним объектам
Get-Item
Получает элемент, находящийся в заданном местоположении.
СинтаксисGet-Item [-LiteralPath] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-UseTransaction] [<CommonParameters>] Get-Item [-Path] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-UseTransaction] [<CommonParameters>]Описание
Командлет Get-Item возвращает элемент из заданного местоположения. Извлечение содержимого заданного элемента производится только при запросе всего содержимого с помощью подстановочного знака (*).
Командлет Get-Item используется поставщиками Windows PowerShell для перемещения по хранилищам данных разных типов.
Параметры-Credential <PSCredential>
Задает учетную запись пользователя, который располагает разрешением для выполнения этого действия. По умолчанию используется значение «Текущий пользователь».
Введите имя пользователя, например «User01» или «Domain01\User01», или введите объект PSCredential, например объект, создаваемый командлетом Get-Credential. При вводе имени пользователя система запросит пароль.
Этот параметр не поддерживается ни одним из установленных с Windows PowerShell поставщиком.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Exclude <string[]>
Исключает указанные элементы. Значение этого параметра определяет значение параметра Path. Введите элемент пути или шаблон, например «*.txt». Подстановочные знаки разрешены.
Параметр Exclude действует только в том случае, если команда включает содержимое элемента, например «C:\Windows\*», где подстановочный знак определяет содержимое каталога «C:\Windows».
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Filter <string>
Задает фильтр с использованием формата или языка поставщика. Значение этого параметра определяет значение параметра Path. Синтаксис фильтра, в том числе использование подстановочных знаков, зависит от поставщика. Фильтры эффективнее других параметров, потому что поставщик применяет их при извлечении объектов (вместо использования Windows PowerShell для фильтрации извлеченных объектов).
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Force
Позволяет командлету получать элементы, которые недоступны другими способами, например скрытые элементы. Реализация варьируется от поставщика к поставщику. Дополнительные сведения см. в разделе About_Providers. Даже при использовании параметра Force командлет не может переопределить ограничения безопасности.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Include <string[]>
Извлекает только указанные элементы. Значение этого параметра определяет значение параметра Path. Введите элемент пути или шаблон, например «*.txt». Подстановочные знаки разрешены.
Параметр Include действует только в том случае, если команда включает содержимое элемента, например «C:\Windows\*», где подстановочный знак определяет содержимое каталога «C:\Windows».
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-LiteralPath <string[]>
Задает путь к элементу. В отличие от значения параметра Path, значение параметра LiteralPath используется точно в том виде, в котором оно введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь включает escape-символы, его нужно заключить в одиночные кавычки. Одиночные кавычки указывают оболочке Windows PowerShell, что никакие символы не следует интерпретировать как escape-символы.
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Path <string[]>
Задает путь к элементу. Для получения элемента, находящегося в указанном местоположении, используется командлет Get-Item. Подстановочные знаки разрешены. Этот параметр обязателен, но его имя («Path») можно не указывать.
Для указания текущего местоположения используйте точку (.). Для указания всех элементов в текущем местоположении используйте подстановочный знак (*).
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByValue, ByPropertyName) |
Принимать подстановочные знаки? |
false |
-UseTransaction
Включает команду в активную транзакцию. Этот параметр допустим, только если транзакция выполняется. Дополнительные сведения см. в разделе about_Transactions.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и выводВходным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
System.String Строку, содержащую путь, можно передать командлету Get-Item по конвейеру. |
Выходные данные |
Object Командлет Get-Item возвращает получаемые им объекты. Тип определяется типом объектов пути. |
Командлет Get-Item также можно вызывать с помощью встроенного псевдонима «gi». Дополнительные сведения см. в разделе About_Aliases.
Командлет Get-Item не имеет параметра Recurse, так как он извлекает только элемент, а не его содержимое. Для рекурсивного извлечения содержимого элемента используется командлет Get-ChildItem.
При работе с реестром для извлечения разделов реестра используется командлет Get-Item, а для извлечения параметров и значений реестра используется командлет Get-ItemProperty. Параметры реестра являются свойствами раздела реестра.
Командлет Get-Item предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы получить список поставщиков, доступных в текущем сеансе, введите команду «Get-PsProvider». Дополнительные сведения см. в разделе About_Providers.
Пример 1C:\PS>get-item . Directory: C:\ Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 7/26/2006 10:01 AM ps-test Описание ----------- Эта команда извлекает текущий каталог. Точка (.) обозначает элемент в текущем местоположении (но не его содержимое).Пример 2
C:\PS>get-item * Directory: C:\ps-test Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 7/26/2006 9:29 AM Logs d---- 7/26/2006 9:26 AM Recs -a--- 7/26/2006 9:28 AM 80 date.csv -a--- 7/26/2006 10:01 AM 30 filenoext -a--- 7/26/2006 9:30 AM 11472 process.doc -a--- 7/14/2006 10:47 AM 30 test.txt Описание ----------- Эта команда извлекает все элементы из текущего каталога. Подстановочный знак (*) обозначает все содержимое текущего элемента.Пример 3
C:\PS>get-item C:\ Описание ----------- Эта команда возвращает текущий каталог диска C:. Извлекаемый объект представляет только каталог, но не его содержимое.Пример 4
C:\PS>get-item C:\* Описание ----------- Эта команда возвращает элементы диска C:. Подстановочный знак (*) обозначает не только сам контейнер, но и все его элементы. Для отображения всего содержимого в оболочке Windows PowerShell используется одиночная звездочка (*) вместо традиционного сочетания "*.*". Шаблон интерпретируется посимвольно, поэтому при использовании сочетания "*.*" не будут извлекаться каталоги и файлы с именами, не содержащими точки.Пример 5
C:\PS>(get-item C:\Windows).LastAccessTime Описание ----------- Эта команда извлекает свойство LastAccessTime каталога C:\Windows. LastAccessTime является одним из свойств каталогов файловой системы. Чтобы отобразить полный список свойств каталога, введите команду "(Get-Item <имя_ папки>) | Get-Member".Пример 6
C:\PS>get-item hklm:\software\microsoft\powershell\1\shellids\microsoft.powershell\* Описание ----------- Эта команда отображает содержимое раздела реестра Microsoft.PowerShell. При использовании поставщика Registry Windows PowerShell для извлечения разделов и вложенных разделов реестра можно использовать командлет Get-Item, однако для извлечения параметров и значений реестра нужно использовать командлет Get-ItemProperty.Пример 7
C:\PS>get-item c:\Windows\* -include *.* -exclude w* Описание ----------- Эта команда извлекает элементы каталога Windows, имена которых включают точку (.) и не начинаются с буквы "w". Эта команда может использоваться только в том случае, когда для указания содержимого элемента в путь включается подстановочный знак (*).
См. также
Get-Help или создаём встроенную справку для собственных команд PowerShell
Любой хорошо написанный скрипт должен содержать справочную информацию о себе. Справочная информация должна содержать как минимум:
- Целевое назначение скрипта/команды.
- Описание параметров и правила их использования.
- Один или несколько примеров использования скрипта/команды.
Я видел множество вариантов оформления справки. Самые популярные это:
- Комментарий перед параметром.
- Выделенный блок комментариев, где приводится какая-то справка по использованию в произвольном исполнении.
- Отсутствие какой-либо справки вообще.
Я не буду останавливаться на том, как это всё выглядит, а лишь расскажу, как должна быть оформлена справка к команде. Windows PowerShell предлагает нам 2 пути.
Справка, оформленная специальным образом в виде встроенного блока комментариев. Специальным образом — чтобы можно было её прочитать не только из тела самого скрипта, но и через стандартный командлет Get-Help. Если мы посмотрим на вывод командлета Get-Help, мы увидим, что вся справка разбита на категории/секции — описание, детальное описание, параметры, примеры и т.д. То же самое разделение используется и при оформлении справки в коде. Вот как выглядит общий шаблон справки:
function Remove-File { [CmdletBinding()] param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] [string]$Path, [switch]$Force ) }
Примечание: блок встроенной справки должен располагаться либо в самом начале функции (на следующей строке после первой открывающейся фигурной скобки) или в самом конце (перед последней закрывающейся фигурной скобкой). Я предпочитаю её размещать в начале.
Уже на данном этапе мы можем вставить код в консоль и выполнить ‘Get-Help Remove-File’ и получите знакомую справку. При этом, все дополнительные параметры (-Full, –Detailed, –Examples, etc.) так же доступны. Точка и слово на ней означает категорию или тэг. На следующей строке размещается текст, связанный с конкретным тэгом. Некоторые тэги могут быть использованы несколько раз — .Example и .Parameter. .Example применяется столько раз, сколько у вас используется примеров. Если 5 примеров, тэг .Example должен быть использован 5 раз. То же самое касается и .Parameter — на каждый параметр определённый в скрипте должен быть использован тэг Parameter. После ключевого слова .Parameter должно следовать имя параметра на этой же строке. Полный список возможных тэгов приводится в следующей таблице:
Название тэга | Описание тэга |
.Synopsis | Краткое описание функции. |
.Description | Детальное описание функции. |
.Parameter <ParameterName> | Описание к каждому параметру. |
.Example | Пример использования функции и описание примера (т.е. что произойдёт, если выполнить конкретный пример). |
.Inputs | Тип данных, которые принимаются функцией. Например, [System.String]. Если их несколько, можете указать несколько типов на одной или нескольких строках. |
.Outputs | Тип возвращаемых данных. Например, [IO.FileInfo] Если функция может возвращать несколько разных типов, их можно указать на одной или нескольких строках. |
.Notes | Здесь можно указать какие-то заметки. Например, я использую .Notes для указания автора кода и его адреса. |
.Link | Можно указать какие-то связанные ссылки. Например, на связанные команды. |
.Component | Можно указать продукт или компонент, для которого предназначена конкретная функция. Скажем, это может быть PKI, Exchange, SQL, SharePoint и т.д. |
.Role | Указывает роль пользователя, который выполняет код. В принципе, можно указать необходимые права и/или привилегии. |
.Functionality | Тоже можно что-то написать. Но я не вижу особой разницы с Description. |
.ForwardHelpTargetName | Указывает команду, на которую надо форвардить пользователя при вызове справки. Т.е. если вы считаете, что в другом командлете/функции справка описана лучше, чем у вас (и по этой же теме), можете сослать пользователя туда. На практике это применяется, когда вы делаете proxy-функции. Т.е. реализуете функционал родного командлета и немного изменяете его под конкретные нужды. |
.ForwardHelpCategory | Если указали предыдущий тег, надо указать конкретный раздел справки командлета, на который ссылаетесь. |
.RemoteHelpRunspace | Можно указать имя переменной, которая хранит данные об удалённой сессии (pssession) для поиска хелпа. Маловероятно, что он вам понадобится |
.ExternalHelp | Данный тэг используется для ссылки на внешний файл справки в формате XML. Об этом будет написано ниже. |
По собственному опыту могу сказать, что все их заполнять не обязательно (хотя и желательно указать максимальное количество необходимой информации). Как минимум, справка должна содержать следующие секции справки: Synopsis, Description, Parameter, Example. Остальное по желанию.
Внешняя справка — это альтернативный вариант оформления справки. Если первый вариант использует специально оформленный блок комментариев в коде, второй использует внешний файл XML. Я не буду расписывать схему и структуру этого XML, просто расскажу как его можно создать и когда его лучше всего использовать.
Справку к командам в отдельном файле можно создать при помощи CmdLet Help Editor.
Замтека: этот редактор достаточно бажный и нередко вылетает с разными ошибками. Поэтому периодически сохраняйте свои изменённые данные.
Если для одиночных функций удобней всего пользоваться справкой, встроенной в код, то для больших проектов (например, у вас модуль с кучей функций) есть смысл держать всю справку в отдельном файле. Например, вы можете распотрошить мой PowerShell PKI Module и посмотреть, как оно выглядит. В каждой функции я делаю ссылку на PKI.Help.xml, который уже хранит справку для всех функций, доступных в модуле. Т.е. если вы справку держите в отдельном XML, то в коде функции вам надо сделать ссылку на этот XML:
function Remove-File { [CmdletBinding()] param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] [string]$Path, [switch]$Force ) }
Заметка: если у кого-то из вас осталась самая первая версия (0.8) PowerShell PKI модуля, можете увидеть, что там используется ещё comment-based help, а в более новых уже XML.
Файл XML должен храниться в той же папке, что и файл с функциями. Если хотите держать их совсем отдельно, надо указывать полный путь до XML.
Как открыть PowerShell, все методы
Обновлено 18.08.2021
Всем привет! Сегодня небольшая заметка на тему, как открыть powershell от имени администратора. Напомню PowerShell, это мощный язык программирования и администрирования от компании Microsoft, каждый год он обрастает, все большим количество командлетов и функциональностей. По сути, это замена командной строке Windows. Ниже рассмотрим методы позволяющие его открыть и настроить.
.
Методы открытия оснастки PowerShell
Powershell очень хорошо развивается и с выходом Windows 10 получил уже 5 версию, но у нас тема другая. Так как открыть powershell? Все просто если в Windows XP, то никак. так он доставляется отдельно, во всех последующих релизах он идет как встроенный компонент. Самый универсальный способ открытия powershell это нажать
Win+R и ввести powershell
Нажав enter у вас запуститься консоль PowerShell, проблема только в том, что откроется она не от имени администратор. И в итоге многое команды выполнить не удастся, ниже смотрим как это сделать от имени админа.
Как запустить windows powershell от имени администратора в Windows 8.1 и Windows 7
Открыть windows powershell можно через пуск. В Windows 8.1, Windows 2012 R2 переходите в пункт Служебные — Windows и правым кликом выбираете запустить от имени администратора.
В Windows 7 и Windows 2008 R2 это выглядит вот так Пуск > Стандартные > Windows PowerShell
Так же можно создать ярлык в пункте задачи и щелкнуть по нему правым кликом и выбрать соответствующий пункт
было бы удобно, чтобы PowerShell всегда открывался от имени администратора, давайте это реализуем. Делается это во всех версиях Windows одинаково. Открываем панель управления
Далее пункт Администрирование > Windows PowerShell (x86)
Щелкаем по нему правым кликом мыши и выбираем пункт свойства. Сразу можете посмотреть путь до файла, где он лежит в системе.
Нажимаем кнопку «Дополнительно». У вас откроется дополнительные свойства. где вам нужно выставить галку запуск от имени администратора.
Все очень просто. Уверен, что у вас теперь не встанет вопроса как вам открыть windows powershell. Еще полезным бывает поменять шрифт в окне powershell.
Как открыть PowerShell через контекстное меню кнопки «Пуск» в Windows 10
Компания Microsoft, все больше делает акцент с командной строки в сторону своего сильного языка (PowerShell), и это логично, так как его возможности по управлению операционными системами семейства Windows, почти безграничны, а то и больше, чем в графическом интерфейсе. Начиная с версии Windows 10 1709, в контекстном меню, PowerShell, заменил всем привычный cmd. Щелкаете правым кликом по кнопке пуск в Windows 10 и из контекстного меню, выбираем соответствующий пункт:
- Windows PowerShell
- Windows PowerShell (администратор) — это как раз и есть режим с максимальными правами в Windows 10.
Запуск Windows PowerShell с помощью поиска в Windows 10
В Windows 10 и более старых версиях, найти оболочку PowerShell, можно с помощью обычного поиска, для этого есть специальная секция. Нажмите рядом с кнопкой «Пуск», значок в виде лупы. В открывшейся форме поиска, введите слово PowerShell. У вас будет произведен поиск всех вариантов, среди которых вы и обнаружите оболочку. Если щелкнуть по ней правой кнопкой мыши, то можно открыть ее от имени администратора.
Запуск Windows PowerShell с помощью меню Пуск в Windows 10
Для того, чтобы открыть оболочку PowerShell из меню Пуск, откройте его и найдите пункт Windows PowerShell, он будет в виде папки, откройте его и запустите соответствующую версию.
Если кликнуть правым кликом, то вы сможете запускать оболочку повершела от имени и с правами администратора.
Дополнительные и универсальные методы запуска оболочки
Существуют еще совсем специфические методы открытия оболочки с мощным языком от Microsoft. Самый топорный, это просто найти исполняемый файл и запустить его прямо из расположения в системе. Переходим в вашей Windows 10 по пути:
C:\Users\имя пользователя\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell
В итоге у вас откроется папка с ярлыками, которые присутствуют в меню «Пуск», можете их запускать.
Еще можно запустить оригинальный, исполняемый файл, который лежит по пути:
C:\Windows\System32\WindowsPowerShell\v1.0
И кликнув по нему правым кликом, вы можете его загружать от имени администратора, с максимальными правами.
Так же вы можете запустить виндоус PowerShell и из окна командной строки, для этого просто введите в нем волшебное слово и нажмите Enter.
Ну и еще напомню метод, запуска новой задачи из оснастки «Диспетчер задач». Откройте «Диспетчер задач», выберите пункт меню «Файл — Запустить новую задачу»
В появившемся окне введите PowerShell.
Ну и последний известный мне метод, это запуск PowerShell, через проводник Windows 10, для этого откройте проводник, выберите пункт меню «Файл — запустить Windows PowerShell», тут будут оба режима.
Запуск PowerShell от имени другого пользователя
Ответственный администратор всегда имеет две учетные записи, первая обладает минимальными правами рядового пользователя, для повседневных задач. Вторая уже имеет нужные административные привилегии, из под которой он выполняет настройки серверов и всего сопутствующего. В операционных системах Windows есть функционал, который позволяет вам находясь в сессии одного пользователя, запустить приложение от имени другого, у которого более расширенные права. Так в сессии обычного пользователя, системный администратор запускает оболочку PowerShell от имени пользователя с другими правами и спокойно управляет, чем хочет.
Чтобы запустить PowerShell от имени другого пользователя вам необходимо зажать кнопку SHIFT, после чего щелкнуть правым кликом мыши по значку PowerShell, из контекстного меню выбрать пункт «Запуск от имени другого пользователя»
Вводите логин и пароль от нужной вам учетной записи. В результате чего оболочка будет работать в контексте другого пользователя.
так же вы можете запускать новое окно PowerShell из текущего окна пользователя, но с уже новыми правами, для этого введите команду:
start powershell -credential «»
В окне запроса учетной записи, указываем логин и пароль, от той учетной записи, которая имеет нужные вам права для дальнейшей вашей работы.
Что такое PowerShell ISE
Наверняка вы обратили внимание, что везде присутствует ярлык PowerShell ISE, и вы хотели бы знать, что это такое. Если в двух словах, то это особая оболочка, в которой вы можете писать сценарии и скрипты на языке PowerShell, используя все то разнообразие командлетов, что предлагает вам компания Microsoft.
Запуск PowerShell через комбинацию клавиш
Одним из удобных методов запуска оболочки PowerShell, при очень частом использовании, является назначение для нее горячего сочетания клавиш, при нажатии которых вызывается оболочка. Делается, это очень просто. Откройте окно свойств PowerShell, на вкладке «Ярлык» найдите пункт «Быстрый вызов«, по умолчанию он имеет статус нет.
Выберите его и нажмите клавишу Shift или Ctrl, или CTRL+SHIFT, в результате чего у вас подставится конструкция для будущей комбинации и так же нажмите любую клавишу из буквенного диапазона, в моем примере получилось CTRL + SHFT + C. Именно такой комбинацией я буду вызывать свою оболочку PowerShell. Сохраняем настройки. Так же отмечу, что вы легко можете ее отменить или поменять на другую.
Пробую ввести комбинацию быстрого вызова CTRL + SHFT + C, как вижу все прекрасно работает.
Запуск оболочки из ISE
До недавнего времени, я обычно ISE открывал из обычной оболочки PowerShell, а не наоборот, но какого же было мое удивление, что в меня «Файл» я обнаружил пункт «Запустить PowerShell.exe» и есть даже сочетание клавиш Ctrl+Shift+P.
Свойства powershell
powershell шрифт меняется очень просто перейдите в свойствах на вкладку Шрифт, где вы можете задать размер от 5 до 72.
так же в свойства можно попасть из самого окна утилиты, щелкните по значку в левом верхнем углу и выберите свойства
Тут настройки шрифта немного другие, вместе с их изменением, меняется и размер консоли.
На вкладке Цвета, можете задать цвет шрифта в powershell да и самого окна. Сделав его например черным, как командная строка.
Размер буфера powershell
Так же советую, если вы активный консольщик выставить размер буфера не в 50 команд, а хотя бы в 100.
Спасибо за внимание. Вот такие вот методы, открытия консоли Power Shell в Windows. Материал сайта pyatilistnik.org
Установка PowerShellGet — PowerShell | Документы Microsoft
- 3 минуты на чтение
В этой статье
PowerShellGet — это встроенный модуль в следующих выпусках
Загрузите последнюю версию из галереи PowerShell
Перед обновлением PowerShellGet необходимо всегда устанавливать последнюю версию поставщика NuGet .Из сеанс PowerShell с повышенными привилегиями, выполните следующую команду.
Install-PackageProvider -Name NuGet -Force
Важно
С апреля 2020 года галерея PowerShell больше не поддерживает безопасность транспортного уровня (TLS). версии 1.0 и 1.1. Если вы не используете TLS 1.2 или выше, вы получите сообщение об ошибке, когда пытается получить доступ к галерее PowerShell. Используйте следующую команду, чтобы убедиться, что вы используете TLS 1,2:
[Net.ServicePointManager] :: SecurityProtocol = [Net.ServicePointManager] :: SecurityProtocol -bor [Net.SecurityProtocolType] :: Tls12
Для получения дополнительной информации см. объявление в Блог PowerShell.
Для систем с PowerShell 5.0 (или новее) вы можете установить последнюю версию PowerShellGet
Для установки PowerShellGet в Windows 10, Windows Server 2016, в любой системе с WMF 5.0 или 5.1 установленной или любой другой системы с PowerShell 6, выполните следующие команды из PowerShell с повышенными привилегиями сеанс.
Install-Module -Name PowerShellGet -Force
Используйте Update-Module
для получения более новых версий.
Обновление-модуль-имя PowerShellGet
Выход
Для компьютеров с PowerShell 3.0 или PowerShell 4.0
Эти инструкции применимы к компьютерам, на которых установлена программа PackageManagement Preview или нет. у вас установлена любая версия PowerShellGet .
Командлет Save-Module
используется в обоих наборах инструкций. Save-Module
загружает и сохраняет
модуль и любые зависимости из зарегистрированного репозитория.Самая последняя версия модуля сохраняется
по указанному пути на локальном компьютере, но не установлен. Чтобы установить модули в PowerShell
3.0 или 4.0 скопируйте сохраненные папки модуля в $ env: ProgramFiles \ WindowsPowerShell \ Modules
.
Для получения дополнительной информации см. Сохранить-модуль.
Примечание
PowerShell 3.0 и PowerShell 4.0 поддерживали только одну версию модуля. Запуск в PowerShell
5.0 модули устанавливаются в <имя модуля> \ <версия>
.Это позволяет установить
несколько версий бок о бок. После загрузки модуля с помощью Save-Module
необходимо скопировать
файлы из <имя модуля> \ <версия>
в папку <имя модуля>
на конечном компьютере,
как показано в приведенных ниже инструкциях.
Подготовительный этап на компьютерах с PowerShell 3.0
Инструкции в разделах ниже устанавливают модули в каталог $ env: ProgramFiles \ WindowsPowerShell \ Modules
.В PowerShell 3.0 этого каталога нет в $ env: PSModulePath
по умолчанию, поэтому вам нужно добавить его, чтобы модули загружались автоматически.
Откройте сеанс PowerShell с повышенными привилегиями и выполните следующую команду (которая вступит в силу в будущем. сеансов):
[Среда] :: SetEnvironmentVariable (
'PSModulePath',
((([Environment] :: GetEnvironmentVariable ('PSModulePath', 'Machine') -split ';') + "$ env: ProgramFiles \ WindowsPowerShell \ Modules") -join ';'),
'Машина'
)
Компьютеры с установленной программой PackageManagement Preview
Примечание
PackageManagement Preview был загружаемым компонентом, который сделал PowerShellGet доступным для
PowerShell версий 3 и 4, но он больше не доступен.Чтобы проверить, был ли он установлен на данном
компьютер, запустите Get-Module -ListAvailable PowerShellGet
.
В сеансе PowerShell используйте
Save-Module
, чтобы загрузить текущую версию PowerShell Получить . Загружаются две папки: PowerShellGet и PackageManagement . Каждый папка содержит подпапку с номером версии.Save-Module -Name PowerShellGet -Path C: \ LocalFolder -Repository PSGallery
Убедитесь, что модули PowerShellGet и PackageManagement не загружены ни в какие другие процессы.
Снова откройте консоль PowerShell с повышенными разрешениями и выполните следующую команду.
«PowerShellGet», «Управление пакетами» | % { $ targetDir = "$ env: ProgramFiles \ WindowsPowerShell \ Modules \ $ _" Удалить элемент $ targetDir \ * -Recurse -Force Копировать элемент C: \ LocalFolder \ $ _ \ * \ * $ targetDir \ -Recurse -Force }
Компьютеры без PowerShellGet
Для компьютеров без установленной версии PowerShell Get (тест с Get-Module -ListAvailable PowerShellGet
), компьютер с установленным PowerShellGet необходим для
скачать модули.
С компьютера, на котором установлен PowerShellGet , используйте
Save-Module
, чтобы загрузить текущий версия PowerShellGet . Скачиваются две папки: PowerShellGet и Управление пакетами . Каждая папка содержит подпапку с номером версии.Save-Module -Name PowerShellGet -Path C: \ LocalFolder -Repository PSGallery
Скопируйте соответствующую подпапку
$ env: ProgramFiles \ WindowsPowerShell \ Modules \ PowerShellGet \
и$ env: ProgramFiles \ WindowsPowerShell \ Modules \ PackageManagement \
соответственно, для чего требуется повышенная сессия.Например, если вы можете получить доступ к папке загрузки на другом компьютере, скажем
ws1
, из целевой компьютер через UNC-путь, скажем\\ ws1 \ C $ \ LocalFolder
, откройте консоль PowerShell с помощью повышенные разрешения и выполните следующую команду:«PowerShellGet», «Управление пакетами» | % { $ targetDir = "$ env: ProgramFiles \ WindowsPowerShell \ Modules \ $ _" $ null = New-Item -Type Directory -Force $ targetDir $ fromComputer = 'ws1' # Здесь укажите имя другого компьютера.Copy-Item \\ $ fromComputer \ C $ \ LocalFolder \ $ _ \ * \ * $ targetDir -Recurse -Force if (-not (Get-ChildItem $ targetDir)) {Вывести "Ошибка копирования." } }
Галерея PowerShell | PowerShellGet 2.2.5
Модуль PowerShell с командами для обнаружения, установки, обновления и публикации артефактов PowerShell, таких как модули, ресурсы DSC, возможности ролей и сценарии.
Доступна более новая предварительная версия этого модуля.
Подробнее см. В списке версий ниже.
(c) Корпорация Microsoft. Все права защищены.
Владельцы
Теги
Управление пакетами Провайдер Linux Mac
Функции
Найти-Command Найти-DSCResource Найти-модуль Найти роль Найти скрипт Get-CredsFromCredentialProvider Get-InstalledModule Get-InstalledScript Get-PSRepository Установить-модуль Сценарий установки New-ScriptFileInfo Публикация-модуль Опубликовать скрипт Регистр-PSRepository Сохранить-модуль Сохранить сценарий Set-PSRepository Test-ScriptFileInfo Удалить-модуль Сценарий удаления Отменить регистрацию-PSRepository Обновление-модуль Обновление-ModuleManifest Сценарий обновления Обновление-ScriptFileInfo
DSCResources
PSModule PS Репозиторий
PS Издания
Рабочий стол Основной
Зависимости
Примечания к выпуску ### 2.2,5
— Патч безопасности для ошибки внедрения кода
### 2.2.4.1
— Удалить файл каталога
### 2.2.3
— Обновите HelpInfoUri, чтобы указать на последнее содержимое (# 560)
— Улучшение обнаружения пригодного для использования двоичного файла nuget.exe (Спасибо, bwright86!) (# 558)
### 2.2.2
Исправление ошибки
— Обновить корпус вывода DscResources
### 2.2.1
Исправление ошибки
— Разрешить DscResources работать на платформах, чувствительных к регистру (# 521)
— Исправлена ошибка, из-за которой не удалось вернуть поставщика учетных данных при использовании частных каналов (# 521).
## 2.2
Исправление ошибки
— Исправление запроса учетных данных при передаче параметра -Credential при использовании Register-PSRepository.
## 2.1.5
Новые функции
— Добавление и удаление репозиториев на основе nuget в качестве источника nuget, когда установлен клиентский инструмент nuget (# 498)
Исправление ошибки
— Исправление ошибки «Не удалось опубликовать модуль» при публикации модулей (# 497).
## 2.1.4
— Исправлено зависание при публикации некоторых пакетов (# 478)
## 2.1.3
Новые функции
— Добавлен параметр -Scope в Update-Module (спасибо @lwajswaj!) (# 471)
— Добавлен параметр -Exclude в модуль публикации (спасибо @ Benny1007!) (# 191)
— Добавлен параметр -SkipAutomaticTags в модуль публикации (спасибо @ awickham10!) (# 452)
Исправление ошибки
— Исправлена проблема с поиском модулей с помощью macOS и .NET Core 3.0.
## 2.1.2
Новая функция
— Добавлена поддержка регистрации репозиториев со спецсимволами
## 2.1.1
— Исправить структуру папок ресурсов DSC.
## 2.1.0
Критическое изменение
— Объем установки по умолчанию для Update-Module и Update-Script изменен в соответствии с Install-Module и Install-Script. Для Windows PowerShell (версии 5.1 или ниже) область действия по умолчанию — AllUsers при работе в сеансе с повышенными привилегиями и CurrentUser во все остальное время.
Для PowerShell версии 6.0.0 и выше областью установки по умолчанию всегда является CurrentUser.(# 421)
Исправления ошибок
— Update-ModuleManifest больше не очищает FunctionsToExport, AliasesToExport и NestModules (# 415 и # 425) (спасибо @pougetat и @ tnieto88!)
— Update-Module больше не изменяет URL-адрес репозитория (# 407)
— Update-ModuleManifest больше не добавляет ‘PSGet_’ к имени модуля (# 403) (спасибо @ThePoShWolf)
— Update-ModuleManifest теперь выдает ошибку и не обновляется при предоставлении недопустимых записей (# 398) (спасибо @pougetat!)
— Игнорировать файлы, которые больше не включаются при загрузке модулей (# 396)
Новые функции
— Новый ресурс DSC, PSRepository (# 426) (Спасибо @johlju!)
— Обвязка хранилищ PS (№420)
— поддержка utf8 для.Nuspec (# 419)
## 2.0.4
Исправление ошибки
* Удалить проверки доступности PSGallery (# 374)
## 2.0.3
Исправлены ошибки и улучшения
* Исправить ошибку CommandAlreadyAvailable для модуля PackageManagement (# 333)
* Удалите завершающие пробелы, если значение не указано для Get-PSScriptInfoString (# 337) (спасибо @thomasrayner)
* Расширенные псевдонимы для улучшения читаемости (# 338) (Спасибо @lazywinadmin)
* Улучшения для каталожных тестов (# 343)
* Исправить Update-ScriptInfoFile для сохранения PrivateData (# 346) (Спасибо @ tnieto88)
* Быстрее импортировать модули с множеством команд (# 351)
Новые функции
* Завершение вкладки для параметра -Repository (# 339) и для Publish-Module -Name (# 359) (Спасибо @ matt9ucci)
## 2.0,1
Исправления ошибок
— Resolved Publish-Module не сообщает об ошибке, но не может опубликовать модуль (# 316)
— Устранена ошибка CommandAlreadyAvailable при установке последней версии модуля PackageManagement (№ 333)
## 2.0.0
Критическое изменение
— Объем установки по умолчанию для Install-Module, Install-Script и Install-Package изменен. Для Windows PowerShell (версии 5.1 или ниже) область действия по умолчанию — AllUsers при работе в сеансе с повышенными привилегиями и CurrentUser во все остальное время.
Для PowerShell версии 6.0.0 и выше областью установки по умолчанию всегда является CurrentUser.
## 1.6.7
Исправления ошибок
— Устранена ошибка установки / сохранения модуля в PSCore 6.1.0-preview.4 в ОС Ubuntu 18.04 (WSL / Azure) (№ 313)
— Обновлено сообщение об ошибке в командлете Save-Module, когда указанный путь недоступен (# 313)
— Добавлено несколько дополнительных подробных сообщений (# 313)
## 1.6.6
Обновления зависимостей
* Добавить зависимость от версии 4.1.0 или новее NuGet.exe
* Обновите URL-адрес начальной загрузки NuGet.exe до https://aka.ms/psget-nugetexe
Улучшения сборки и очистки кода
* Улучшена обработка ошибок при тестировании сетевого подключения.
Исправления ошибок
— Измените Update-ModuleManifest, чтобы префикс не добавлялся в CmdletsToExport.
— Измените Update-ModuleManifest, чтобы параметры не сбрасывались до значений по умолчанию.
— Указывайте параметр поставщика AllowPrereleseVersions только в том случае, если AllowPrerelease указан в командлетах PowerShellGet.
## 1.6.5
Новые функции
* Разрешить установку Pester / PSReadline при подписании сертификатом стороннего производителя (# 258)
— Установка в белый список Pester и PSReadline, не подписанных Microsoft, поверх Pester и PSReadline, подписанных Microsoft.
Улучшения сборки и очистки кода
* Разделение функций (# 229) (Спасибо @ Benny1007)
— Перемещает частные функции в соответствующую личную папку.
— Перемещает общедоступные функции, как определено в PSModule.psd1 в соответствующую общую папку.
— Удаляет все функции из файла PSModule.psm1.
— Dot получает функции из файла PSModule.psm1.
— Использует Export-ModuleMember для экспорта общедоступных функций из файла PSModule.psm1.
* Добавить этап сборки для создания одного файла .psm1 (# 242) (Спасибо @ Benny1007)
— Объединенные публичные и частные функции в один файл .psm1 для увеличения производительности во время загрузки.
Исправления ошибок
— Исправить ошибку нулевого параметра, вызванную MinimumVersion в Publish-PackageUtility (# 201)
— Изменить.Ссылка ExternalHelp из PSGet.psm1-help.xml на PSModule-help.xml в файле PSModule.psm1 (# 215)
— Измените Publish- *, чтобы разрешить сравнение версий вместо сравнения строк (# 219)
— Убедитесь, что Get-InstalledScript -RequiredVersion работает, когда версии имеют начальный 0 (# 260)
— Добавить позиционный путь к Save-Module и Save-Script (# 264, # 266)
— Убедитесь, что Get-AuthenticodePublisher проверяет издателя и что при установке или обновлении модуля проверяется наличие соответствующей подписи каталога (# 272)
— Обновите HelpInfoURI до https: // go.microsoft.com/fwlink/?linkid=855963 ‘(# 274)
## 1.6.0
Новые функции
* Поддержка предварительной версии (# 185)
— Реализована функциональность предварительных версий в командлетах PowerShellGet.
— Позволяет публиковать, обнаруживать и устанавливать предварительные версии модулей и скриптов из галереи PowerShell.
— [Документация] (https://docs.microsoft.com/en-us/powershell/gallery/psget/module/PrereleaseModule)
* Включены командлеты публикации на PWSH и Nano Server (# 196)
— Версия команды Dotnet 2.0.0 или новее должен быть установлен пользователем перед использованием командлетов публикации на PWSH и Windows Nano Server.
— Пользователи могут установить команду dotnet, следуя инструкциям, указанным на https://aka.ms/dotnet-install-script.
— В Windows пользователи могут установить команду dotnet, запустив * Invoke-WebRequest -Uri ‘https://dot.net/v1/dotnet-install.ps1’ -OutFile ‘. \ Dotnet-install.ps1’; & ‘. \ dotnet-install.ps1’ -Channel Current -Version ‘2.0.0’ *
— Командлеты публикации в Windows PowerShell поддерживают использование команды dotnet для операций публикации.
Критическое изменение
— PWSH: изменено место установки области AllUsers на родительский объект $ PSHOME вместо $ PSHOME. Это папка SHARED_MODULES на PWSH.
Исправления ошибок
— Обновите HelpInfoURI до https://go.microsoft.com/fwlink/?linkid=855963 (# 195)
— Убедитесь, что путь MyDocumentsPSPath правильный (# 179) (Спасибо @lwsrbrts)
## 1.5.0.0
Новые функции
* Добавлена поддержка модулей, требующих принятия лицензии (# 150)
— [Документация] (https: // docs.microsoft.com/en-us/powershell/gallery/psget/module/RequireLicenseAcceptance)
* Добавлена версия для ТРЕБУЕМЫХ СКРИПТОВ (# 162)
— Включены следующие сценарии для ТРЕБУЕМЫХ СКРИПТОВ
— [1.0] — Обязательная версия
— [1.0,2.0] — Мин. И Макс. Версии
— (, 1.0] — Макс. Версия
— 1.0 — Мин. Версия
Исправления ошибок
* Исправлено значение пустой версии в nuspec (# 157)
## 1.1.3.2
* Отключена телеметрия PowerShellGet в PS Core, поскольку API-интерфейсы телеметрии PowerShell были удалены в бета-сборках PowerShell Core.(# 153)
* Исправлена проблема сериализации формата DateTime. (# 141)
* Update-ModuleManifest должен добавить значение ExternalModuleDependencies как коллекцию. (# 129)
## 1.1.3.1
Новые функции
* В ScriptFileInfo добавлено поле PrivateData. (# 119)
Исправления ошибок
## 1.1.2.0
Исправления ошибок
## 1.1.1.0
Исправления ошибок
## 1.1.0.0
* Первоначальный выпуск с GitHub.
* Поддержка PowerShellCore.
## Полную историю примечаний к выпуску см. В журнале изменений:
https://github.com/PowerShell/PowerShellGet/blob/master/CHANGELOG.md
Get-Command — PowerShell — SS64.com
Get-Command — PowerShell — SS64.comПолучите основную информацию о командах PowerShell: командлетах, файлах и функциях.
Синтаксис Get-Command [ -Noun String []] [ -Verb String []] [[-ArgumentList] Object []] [-Все] [-ListImported] [-Module String []] [-ParameterName String []] [-ParameterType PSTypeName []] [-Syntax] [-TotalCount Int32 ] [ CommonParameters ] Get-Command [[ -Name ] String []] [-CommandType CommandTypes ] [[-ArgumentList] Object []] [-Все] [-ListImported] [-Module String []] [-ParameterName String []] [-ParameterType PSTypeName []] [-Syntax] [-TotalCount Int32 ] [ CommonParameters ] ключ -Все Получить все команды, включая команды одного типа с одинаковыми именами.По умолчанию возвращает только команду, которая будет запущена, если вы ввели имя команды. PowerShell 3.0+ (В PowerShell 2.0 Get-Command по умолчанию получает все команды.) -имя Получите информацию для командлетов (или элементов команд) с этим именем. Имя полностью или частично, подстановочные знаки разрешены. -глагол Получите информацию об именах командлетов, которые включают указанный глагол. Строка «Получить», «Установить», «Удалить» и т. Д.Подстановочные знаки разрешены и несколько глаголы или шаблоны глаголов могут быть указаны: "* et". -имя существительное Получите информацию об именах командлетов, которые включают указанное существительное. "процесс", "Сервис", "Переменная" и т. д. Разрешены подстановочные знаки: "* элемент *" -commandType CommandType Получить только указанные типы командных объектов: Псевдоним PowerShell Псевдоним Все Файлы приложения, отличные от PowerShell, в пути PowerShell.Командлет Командлет PowerShell (по умолчанию) Файлы сценария ExternalScript .ps1 в Пути ($ env: path). Фильтр функций PowerShell. Функции Functon PowerShell. Скрипт Скриптовые блоки встроены в конфигурацию рабочего пространства. Рабочий процесс Рабочие процессы. Вы можете использовать -CommandType или его псевдоним -Type. -totalCount int32 Ограничьте количество извлекаемых элементов.-ListImported Получить только команды в текущем сеансе. Начиная с PowerShell 3.0, по умолчанию Get-Command получает все установленные команды, включая, но не ограничиваясь, команды в текущем сеансе. В PowerShell 2.0 возвращаются только команды текущего сеанса. -Строка модуля [] Получите команды, поступившие из указанных модулей или оснасток. Введите имена модулей или оснасток либо введите имена объектов оснастки / модуля.Вы можете использовать -Module или его псевдоним -PSSnapin. Этот параметр принимает строковые значения или объект PSModuleInfo или PSSnapinInfo, например объекты, возвращаемые Get-Module, Get-PSSnapin и Import-PSSession. -ParameterName String Получить в сеансе команды с указанными параметрами. Введите имена параметров и / или псевдонимы параметров. Поддерживаются подстановочные знаки. Параметры -ParameterName и -ParameterType ищут только команды в текущем сеансе.PowerShell 3.0+ -ParameterType PSTypeName [] Получить в сеансе команды с параметрами указанного типа. Введите полное или частичное имя типа параметра. Подстановочные знаки поддерживаются. Параметры ParameterName и ParameterType ищут только команды в текущем сеансе. PowerShell 3.0+ -синтаксис Описывает предмет: имя псевдонима, синтаксис командлета, определение функции, определение фильтра, путь к скрипту / имя файла.-argumentList Получить информацию о командлете, когда он используется с определенным аргументом, например, путь к файлу или ключ реестра. например, "HKML \ Software" или "cert: \ my". Это полезно, поскольку некоторые параметры командлета добавляются динамически.
Стандартные псевдонимы для Get-Command: gcm
Get-Command получает данные непосредственно из кода командлета, функции, сценария или псевдонима, в отличие от Get-Help, который получает информацию из файлов разделов справки.
Параметр -Module найдет команды, добавленные в сеанс, путем добавления оснастки PowerShell или импорта модуля.
Чтобы перечислить команды с одинаковым -имя в порядке выполнения, введите имя команды без подстановочных знаков.
Примеры
Опишите глаголы ‘Set’:
PS C: \> get-command -verb set | формат-список
PS C: \> get-command -verb set | список форматов *
Список всех функций в текущем сеансе:
PS C: \> get-command -CommandType функция
Отображение командлетов в группах на основе существительных:
PS C: \> get-command | объект-сортировка существительное | формат-таблица -группа существительное
Показать все командлеты Active Directory, доступные для PowerShell:
PS C: \> get-command -module ActiveDirectory -verb получить
PS C: \> get-command -module ActiveDirectory-существительное ADUser
Получить информацию обо всех элементах, доступных для PowerShell (все файлы, функции, псевдонимы и командлеты):
PS C: \> получить команду *
Опишите псевдоним dir:
PS C: \> get-command dir | список форматов
Клингер: «О, вы созданы для командования.Эти плечи —
достаточно широкий для четырех звезд. Эта высота …
командиры должны быть высокими — смотреть на своих людей свысока »
Капрал: «Наполеон не так уж плох» ~ Диалог от M * A * S * H 1978
Связанные командлеты PowerShell:
Get-Help — открыть файл справки.
Get-PSDrive — получить информацию о диске (DriveInfo).
Get-Member — перечисляет свойства объекта.
Get-StartApps — получение имен и AppID установленных приложений.
Эквивалентная команда bash: man — отображение полезной информации о командах.
Авторские права © 1999-2021 SS64.com
Некоторые права защищены
Get-Command | Работа с PowerShell по одному командлету за раз | Еженедельный блог
Это часть продолжающейся серии блогов, написанных Адамом Гордоном. Каждую неделю Адам будет знакомить вас с командой PowerShell, показывая, когда и как использовать каждую из них. На этой неделе Адам рассказывает о Get-Command.
Когда использовать
Get-Command?Командлет Get-Command получает все команды, установленные на компьютере, включая командлеты, псевдонимы, функции, фильтры, сценарии и приложения. Get-Command получает команды из модулей PowerShell и команды, которые были импортированы из других сеансов. Чтобы получить только те команды, которые были импортированы в текущий сеанс, используйте параметр — ListImported .
Get-Command * получает все типы команд, включая все файлы, не относящиеся к PowerShell, в переменной среды Path ($ env: Path), которую он перечисляет в типе команд приложения.
Использование Get-Command с точным именем команды без подстановочных знаков автоматически импортирует модуль, содержащий команду, так что вы можете использовать команду немедленно.Чтобы включить, отключить и настроить автоматический импорт модулей, вы можете использовать предпочтительную переменную $ PSModuleAutoLoadingPreference.
ПРИМЕЧАНИЕ. Get-Command получает данные непосредственно из кода команды, в отличие от Get-Help , который получает информацию из разделов справки.
Начиная с Windows PowerShell 5.0, в результатах командлета Get-Command по умолчанию отображается столбец Версия. В класс CommandInfo добавлено новое свойство Version.
Какую версию PowerShell я использую для этого блога?
Получите версию PowerShell со своего компьютера :
$ PS Таблица версий
Эта команда показывает информацию о версии PowerShell на вашем компьютере.
Как использовать Get-Command?
Получить командлеты, функции и псевдонимы :
Get-команда
Эта команда получает командлеты, функции и псевдонимы PowerShell, установленные на компьютере.
Получить команды в текущем сеансе :
Get-Command -ListImported
Эта команда использует параметр — ListImported для получения только команд в текущем сеансе.
Получить командлеты и отобразить их в порядке :
Get-Command -Type Cmdlet | Сортировка-Объект-Свойство Существительное | Format-Table -GroupBy Noun
Эта команда получает все командлеты, сортирует их в алфавитном порядке по существительному в имени командлета, а затем отображает их в группах на основе существительного.
Получить команды в модуле :
Get-Command -Module Microsoft.PowerShell.Security, Microsoft.PowerShell.Utility
Эта команда использует параметр — Module для получения команд в модулях Microsoft.PowerShell.Security и Microsoft.PowerShell.Utility.
Получить информацию о командлете :
Get-Command Get-AppLockerPolicy
Эта команда получает информацию о командлете Get-AppLockerPolicy .Он также импортирует модуль AppLocker , который добавляет все команды из модуля AppLocker к текущему сеансу.
Получить синтаксис командлета :
Get-Command Get-Childitem -Args Cert: -Syntax
Эта команда использует параметры — ArgumentList и — Syntax для получения синтаксиса командлета Get-ChildItem , когда он используется на диске Cert :. Диск Cert: — это диск PowerShell, который поставщик сертификатов добавляет в сеанс.
Если вы сравните синтаксис, отображаемый в выходных данных выше, с синтаксисом, который отображается, когда вы опускаете параметр — Args ( ArgumentList ), вы увидите, что поставщик сертификатов добавляет динамический параметр, CodeSigningCert в командлет Get-ChildItem .
Получить динамические параметры:
Get-DynamicParameters
{
param ($ Cmdlet, $ PSDrive)
(Get-Command $ Cmdlet -ArgumentList $ PSDrive).ParameterSets | ForEach-Object {$ _. Parameters} | Where-Object {$ _. IsDynamic} | Select-Object -Property Name -Unique
}
Get-DynamicParameters -Cmdlet Get-ChildItem -PSDrive Cert:
Команда в примере использует функцию Get-DynamicParameters для получения динамических параметров, которые поставщик сертификатов добавляет к командлету Get-ChildItem , когда он используется на диске Cert :.
Функция Get-DynamicParameters в этом примере получает динамические параметры командлета.Это альтернатива методу, использованному в предыдущем примере. Динамический параметр может быть добавлен в командлет другим командлетом или поставщиком.
Получить командлеты, используя имя и тип параметра:
Get-Command -ParameterName * Auth * -ParameterType AuthenticationMechanism
Эта команда получает командлеты с параметром, имя которого включает Auth, а тип — AuthenticationMechanism .
Параметр — ParameterType отличает параметры, принимающие значение AuthenticationMechanism , от параметров, принимающих параметр — AuthenticationLevel , даже если они имеют похожие имена.
Получить командлеты и функции с типом вывода:
Get-Command -Type Cmdlet | Where-Object OutputType | Список форматов — Имя свойства, Тип вывода
Эта команда получает командлеты и функции, которые имеют тип вывода и тип возвращаемых ими объектов.
Первая часть команды получает все командлеты. Оператор конвейера (|) отправляет командлеты в командлет Where-Object , который выбирает только те, в которых заполнено свойство OutputType .
Другой оператор конвейера отправляет выбранные объекты командлета в командлет Format-List , который отображает имя и тип вывода каждого командлета в списке.
Свойство OutputType объекта CommandInfo имеет ненулевое значение только в том случае, если код командлета определяет атрибут OutputType для командлета.
Получить командлеты, которые принимают в качестве входных данных определенный тип объекта:
Get-Command -ParameterType (((Get-NetAdapter) [0]).PSTypeNames)
Эта команда находит командлеты, которые принимают объекты сетевого адаптера в качестве входных данных. Вы можете использовать этот формат команды, чтобы найти командлеты, которые принимают тип объектов, возвращаемых любой командой.
Команда использует внутреннее свойство PSTypeNames всех объектов, которое получает типы, описывающие объект.
Чтобы получить свойство PSTypeNames сетевого адаптера, а не свойство PSTypeNames набора сетевых адаптеров, команда использует нотацию массива для получения первого сетевого адаптера, возвращаемого командлетом.
Выучите команду прошлой недели: Save-Help.
Требуется обучение PowerShell? Ознакомьтесь с онлайн-курсами ИТ-обучения PowerShell от ITProTV.
PowerShell / PowerShellGet: PowerShellGet — это менеджер пакетов для PowerShell
Эта версия PowerShellGet в настоящее время находится в стадии разработки и не является полной. В результате в настоящее время мы принимаем только PR для тестов. Если вы хотите открыть PR, сначала откройте вопрос, чтобы провести необходимое обсуждение.Задайте вопрос по любым запросам функций, отчетам об ошибках или вопросам для PowerShellGet версии 3.0 (в настоящее время доступна как предварительная версия). Обратите внимание, что репозиторий для предыдущих версий PowerShellGet имеет новое расположение в PowerShell / PowerShellGetv2.
PowerShellGet — это модуль PowerShell с командами для обнаружения, установки, обновления и публикации артефактов PowerShell, таких как модули, сценарии и ресурсы DSC.
Документация для PowerShellGet 3.0 еще не опубликована, пожалуйста кликните сюда для ссылки на документацию по предыдущим версиям PowerShellGet.
- PowerShell 5.0 или выше.
Для получения последней версии о том, как получить модуль PowerShellGet, обратитесь к нашей документации.
ступеньки
PS C: \> компакт-диск c: \ Repos \ PowerShellGet PS C: \ Repos \ PowerShellGet>
- При необходимости установите модуль PSPackageProject
if ((Get-Module -Name PSPackageProject -ListAvailable) .Count -eq 0) { Install-Module -Name PSPackageProject -Repository PSGallery }
# Сборка для netstandard2.0 рамки PS C: \ Repos \ PowerShellGet>. \ Build.ps1 -Clean -Build -BuildConfiguration Debug -BuildFramework netstandard2.0
- Опубликовать модуль в локальном репозитории
PS C: \ Repos \ PowerShellGet>. \ Build.ps1 - опубликовать
PS C: \ Repos \ PowerShellGet> Invoke-PSPackageProjectTest -Type Functional
- Импортировать модуль в новый сеанс PowerShell
# При использовании PowerShell 6+ C: \> Импорт-модуль C: \ Repos \ PowerShellGet \ out \ PowerShellGet # Если вы используете Windows PowerShell C: \> Импорт-модуль C: \ Repos \ PowerShellGet \ out \ PowerShellGet \ PowerShellGet.psd1
Примечание
PowerShellGet состоит из двоичных файлов .NET и поэтому может быть импортирован в сеанс PowerShell только один раз.
Поскольку модуль PSPackageProject, используемый для построения модуля, зависит от более ранних версий PowerShellGet, новый созданный модуль не может быть импортирован в этот сеанс.
Новый модуль можно импортировать только в новый сеанс, не имеющий ранее импортированного модуля PowerShellGet. Вы получите предупреждающие сообщения в консоли, если столкнетесь с этой проблемой.
Get-ChildItem | dir, gci, ls | Получает файлы и папки на диске с файловой системой. | Cmdlet | ||||
Invoke-Command | icm | Выполняет команды на локальных и удаленных компьютерах. | Cmdlet | ||||
Import-Module | ipmo | Добавляет модули в текущий сеанс. | Командлет | ||||
Export-CSV | epcsv | Преобразует объекты в серию строк, разделенных запятыми (CSV), и сохраняет строки в файле CSV. | Командлет | ||||
Write-Host | Записывает настроенный вывод на хост. | Командлет | |||||
Get-WmiObject | gwmi | Получает экземпляры классов WMI или информацию о доступных классах. | Командлет | ||||
Get-Content | cat, gc, type | Получает содержимое файла. | Командлет | ||||
Get-Date | Получает текущую дату и время. | Cmdlet | |||||
Invoke-WebRequest | curl, iwr, wget | Получает содержимое с веб-страницы в Интернете. | Командлет | ||||
Start-Process | saps, start | Запускает один или несколько процессов на локальном компьютере. | Cmdlet | ||||
Copy-Item | copy, cp, cpi | Копирует элемент из одного места в другое. | Командлет | ||||
Set-ExecutionPolicy | Изменяет пользовательские настройки для политики выполнения Windows PowerShell. | Командлет | |||||
Исходящий файл | Отправляет вывод в файл. | Командлет | |||||
Where-Object | ?, Где | Выбирает объекты из коллекции на основе значений их свойств. | Командлет | ||||
Import-CSV | ipcsv | Создает настраиваемые объекты в виде таблицы из элементов в файле CSV. | Командлет | ||||
Send-MailMessage | Отправляет сообщение электронной почты. | Командлет | |||||
New-Object | Создает экземпляр Microsoft .NET Framework или COM-объекта. | Командлет | |||||
Select-String | sls | Находит текст в строках и файлах. | Командлет | ||||
Remove-Item | del, erase, rd, ri, rm, rmdir | Удаляет файлы и папки. | Командлет | ||||
Select-Object | select | Выбирает объекты или свойства объекта. | Командлет | ||||
Test-Path | Определяет, все ли элементы пути к файлу или каталогу существуют. | Командлет | |||||
Invoke-RestMethod | irm | Отправляет запрос HTTP или HTTPS в веб-службу RESTful. | Командлет | ||||
Install-Package | Устанавливает один или несколько пакетов программного обеспечения. | Командлет | |||||
ForEach-Object | %, foreach | Выполняет операцию над каждым элементом в коллекции входных объектов. | Командлет | ||||
Запись-вывод | эхо, запись | Отправляет указанные объекты следующей команде в конвейере. Если команда является последней командой в трубопроводе, объекты отображаются в консоли. | Командлет | ||||
Get-Process | gps, ps | Получает процессы, которые выполняются на локальном или удаленном компьютере. | Командлет | ||||
Get-Service | gsv | Получает службы на локальном или удаленном компьютере. | Командлет | ||||
Format-Table | ft | Форматирует вывод в виде таблицы. | Командлет | ||||
Тестовое соединение | Отправляет пакеты эхо-запроса ICMP («эхо-запросы») на один или несколько компьютеров. | Командлет | |||||
New-Item | ni | Создает новый элемент. | Командлет | ||||
Get-EventLog | Получает события из журнала событий или списка журналов событий на локальных или удаленных компьютерах. | Командлет | |||||
Get-WinEvent | Получает события из журналов событий и файлов журнала трассировки событий на локальных и удаленных компьютерах. | Cmdlet | |||||
Install-Module | Загружает один или несколько модулей из онлайн-галереи и устанавливает их на локальный компьютер. | Функция | |||||
Enter-PSSession | etsn | Запускает интерактивный сеанс с удаленным компьютером. | Командлет | ||||
Get-Credential | Получает объект учетных данных на основе имени пользователя и пароля. | Командлет | |||||
Read-Host | Считывает строку ввода с консоли. | Cmdlet | |||||
Get-AppxPackage | Получает список пакетов приложений, установленных в профиле пользователя. | Командлет | |||||
Get-Acl | Получает дескриптор безопасности для ресурса, например файла или раздела реестра. | Командлет | |||||
Get-Help | Отображает информацию о командах и концепциях Windows PowerShell. | Командлет | |||||
Start-Job | sajb | Запускает фоновое задание Windows PowerShell. | Командлет | ||||
Add-PSSnapin | Добавляет одну или несколько оснасток Windows PowerShell в текущий сеанс. | Командлет | |||||
New-PSSession | nsn | Создает постоянное соединение с локальным или удаленным компьютером. | Командлет | ||||
Invoke-Expression | iex | Выполняет команды или выражения на локальном компьютере. | Командлет | ||||
Добавить содержимое | ac | Добавляет содержимое, например слова или данные, в файл. | Командлет | ||||
New-PSDrive | mount, ndr | Создает временные и постоянные подключенные сетевые диски. | Командлет | ||||
Move-Item | mi, move, mv | Перемещает элемент из одного места в другое. | Командлет | ||||
Get-Item | gi | Получает файлы и папки. | Командлет | ||||
Compare-Object | compare, diff | Сравнивает два набора объектов. | Командлет | ||||
Sort-Object | sort | Сортировка объектов по значениям свойств. | Командлет | ||||
Test-NetConnection | Отображает диагностическую информацию для подключения. | Функция | |||||
Set-Acl | Изменяет дескриптор безопасности указанного элемента, например файла или ключа реестра. | Командлет | |||||
Set-Content | sc | Заменяет содержимое файла указанным вами содержимым. | Командлет | ||||
Start-Transcript | Создает запись всего или части сеанса Windows PowerShell в текстовый файл. | Командлет | |||||
Get-HotFix | Получает исправления, примененные к локальным и удаленным компьютерам. | Командлет | |||||
Get-ItemProperty | gp | Получает свойства указанного элемента. | Командлет | ||||
Add-Member | Добавляет настраиваемые свойства и методы в экземпляр объекта Windows PowerShell. | Cmdlet | |||||
Remove-AppxPackage | Удаляет пакет приложения из учетной записи пользователя. | Командлет | |||||
Rename-Item | ren, rni | Переименовывает элемент в пространстве имен поставщика Windows PowerShell. | Командлет | ||||
Тип добавления | Добавляет тип .NET Framework (класс) в сеанс Windows PowerShell. | Командлет | |||||
Get-Member | gm | Получает свойства и методы объектов. | Командлет | ||||
ConvertTo-SecureString | Преобразует зашифрованные стандартные строки в защищенные строки. Он также может преобразовывать простой текст в защищенные строки. Он используется с ConvertFrom-SecureString и Read-Host. | Командлет | |||||
New-SelfSignedCertificate | Создает новый самозаверяющий сертификат для целей тестирования. | Cmdlet | |||||
Start-Sleep | sleep | Приостанавливает действие в сценарии или сеансе на указанный период времени. | Командлет | ||||
Restart-Computer | Перезапускает («перезагружает») операционную систему на локальном и удаленном компьютерах. | Командлет | |||||
Out-GridView | ogv | Отправляет вывод в интерактивную таблицу в отдельном окне. | Командлет | ||||
Format-List | fl | Форматирует вывод в виде списка свойств, в котором каждое свойство отображается в новой строке. | Командлет | ||||
Set-ItemProperty | sp | Создает или изменяет значение свойства элемента. | Командлет | ||||
Объект измерения | Измерение | Вычисляет числовые свойства объектов, а также символы, слова и строки в строковых объектах, например, текстовые файлы. | Командлет | ||||
Split-Path | Возвращает указанную часть пути. | Командлет | |||||
Get-Counter | Получает данные счетчиков производительности с локальных и удаленных компьютеров. | Командлет | |||||
Get-CimInstance | Получает экземпляры класса CIM с сервера CIM. | Командлет | |||||
Надстройка компьютера | Добавьте локальный компьютер в домен или рабочую группу. | Cmdlet | |||||
Add-AppxPackage | Добавляет подписанный пакет приложения в учетную запись пользователя. | Командлет | |||||
ConvertTo-Html | Преобразует объекты Microsoft .NET Framework в HTML, который может отображаться в веб-браузере. | Командлет | |||||
Import-StartLayout | Импортирует макет начального экрана в смонтированный образ Windows. | Cmdlet | |||||
Set-Location | cd, chdir, sl | Устанавливает текущее рабочее место в указанное место. | Командлет | ||||
Get-NetAdapter | Получает основные свойства сетевого адаптера. | Функция | |||||
Export-StartLayout | Экспорт макета начального экрана. | Командлет | |||||
Enable-PSRemoting | Настраивает компьютер для получения удаленных команд. | Командлет | |||||
Get-Command | gcm | Получает все команды. | Командлет | ||||
Get-ExecutionPolicy | Получает политики выполнения для текущего сеанса. | Командлет | |||||
Join-Path | Объединяет путь и дочерний путь в один путь. | Командлет | |||||
Import-PSSession | ipsn | Импортирует команды из другого сеанса в текущий сеанс. | Командлет | ||||
Get-FileHash | Вычисляет значение хеш-функции для файла, используя указанный алгоритм хеширования. | Функция | |||||
Ошибка записи | Записывает объект в поток ошибок. | Командлет | |||||
Stop-Service | spsv | Останавливает одну или несколько запущенных служб. | Командлет | ||||
Stop-Process | kill, spps | Останавливает один или несколько запущенных процессов. | Командлет | ||||
Start-Service | sasv | Запускает одну или несколько остановленных служб. | Командлет | ||||
Разблокировать файл | Разблокирует файлы, загруженные из Интернета. | Командлет | |||||
Get-Disk | Возвращает один или несколько дисков, видимых операционной системе. | Функция | |||||
Get-Module | gmo | Получает модули, которые были импортированы или которые могут быть импортированы в текущий сеанс. | Командлет | ||||
ConvertTo-Json | Преобразует объект в строку в формате JSON. | Командлет | |||||
New-WebServiceProxy | Создает прокси-объект веб-службы, который позволяет использовать веб-службу и управлять ею в Windows PowerShell. | Cmdlet | |||||
Reset-ComputerMachinePassword | Сбрасывает пароль учетной записи компьютера. | Командлет | |||||
Get-ScheduledTask | Получает объект определения задачи запланированной задачи, зарегистрированной на локальном компьютере. | Функция | |||||
Write-EventLog | Записывает событие в журнал событий. | Командлет | |||||
Set-Service | Запускает, останавливает и приостанавливает службу, а также изменяет ее свойства. | Командлет | |||||
Out-String | Отправляет объекты на хост в виде серии строк. | Командлет | |||||
Get-Printer | Извлекает список принтеров, установленных на компьютере. | Функция | |||||
Out-Null | Удаляет вывод, а не отправляет его по конвейеру. | Cmdlet | |||||
Resolve-DnsName | undefined | Cmdlet | |||||
Get-WindowsUpdateLog объединяет файлы журнала | . | Функция | |||||
Restart-Service | Останавливает, а затем запускает одну или несколько служб. | Командлет | |||||
Set-Variable | set, sv | Устанавливает значение переменной. Создает переменную, если переменная с запрошенным именем не существует. | Командлет | ||||
Сжать-архив | Создает архив или заархивированный файл из указанных файлов и папок. | Функция | |||||
ConvertFrom-Json | Преобразует строку в формате JSON в настраиваемый объект. | Cmdlet | |||||
New-SmbShare | Создает общий ресурс SMB. | Функция | |||||
Set-Item | si | Изменяет значение элемента на значение, указанное в команде. | Cmdlet | ||||
Update-Help | Загружает и устанавливает новейшие файлы справки на ваш компьютер. | Командлет | |||||
Group-Object | group | Группирует объекты, которые содержат одинаковое значение для указанных свойств. | Командлет | ||||
Start-BitsTransfer | Создает задание передачи BITS. | Командлет | |||||
Get-Certificate | Отправляет запрос сертификата на сервер регистрации и устанавливает ответ или извлекает сертификат для ранее отправленного запроса. | Командлет | |||||
Register-ScheduledTask | Регистрирует определение запланированной задачи на локальном компьютере. | Функция | |||||
Tee-Object | tee | Сохраняет выходные данные команды в файле или переменной, а также отправляет их по конвейеру. | Командлет | ||||
Test-ComputerSecureChannel | Проверяет и восстанавливает безопасный канал между локальным компьютером и его доменом. | Cmdlet | |||||
Measure-Command | Измеряет время, необходимое для запуска блоков скриптов и командлетов. | Командлет | |||||
ConvertFrom-SecureString | Преобразует защищенную строку в зашифрованную стандартную строку. | Командлет | |||||
Get-Job | gjb | Получает фоновые задания Windows PowerShell, которые выполняются в текущем сеансе. | Командлет | ||||
Export-Clixml | Создает представление объекта или объектов на основе XML и сохраняет его в файле. | Командлет | |||||
ConvertTo-Csv | Преобразует объекты в серию строк переменной длины, разделенных запятыми. | Командлет | |||||
Remove-AppxProvisionedPackage | Удаляет пакет приложения (.appx) из образа Windows. | Командлет | |||||
New-ItemProperty | Создает новое свойство для элемента и устанавливает его значение. | Командлет | |||||
Get-PhysicalDisk | Получает список всех объектов PhysicalDisk, видимых в любых доступных поставщиках управления хранением, или, при необходимости, отфильтрованный список. | Функция | |||||
Set-TimeZone | Устанавливает системный часовой пояс на указанный часовой пояс. | Cmdlet | |||||
Get-Package | Возвращает список всех пакетов программного обеспечения, установленных с помощью управления пакетами. | Командлет | |||||
Get-SmbShare | Извлекает общие ресурсы SMB на компьютере. | Функция | |||||
Get-Variable | gv | Получает переменные в текущей консоли. | Командлет | ||||
Дополнительный принтер | Добавляет принтер к указанному компьютеру. | Функция | |||||
Resolve-Path | rvpa | Разрешает подстановочные знаки в пути и отображает содержимое пути. | Командлет | ||||
Select-Xml | Находит текст в строке или документе XML. | Командлет | |||||
Get-Random | Получает случайное число или случайным образом выбирает объекты из коллекции. | Командлет | |||||
Get-PSDrive | gdr | Получает диски в текущем сеансе. | Cmdlet | ||||
Expand-Archive | Извлекает файлы из указанного архива (заархивированного). | Функция | |||||
Receive-Job | rcjb | Получает результаты фоновых заданий Windows PowerShell в текущем сеансе. | Командлет | ||||
New-NetFirewallRule | Создает новое правило брандмауэра для входящего или исходящего трафика и добавляет его на целевой компьютер. | Функция | |||||
New-NetIPAddress | Создает и настраивает IP-адрес. | Функция | |||||
Get-NetIPAddress | Получает конфигурацию IP-адреса. | Функция | |||||
Register-ObjectEvent | Подписывается на события, создаваемые объектом Microsoft .NET Framework. | Командлет | |||||
Get-SmbConnection | Извлекает соединения, установленные от клиента SMB к серверам SMB. | Функция | |||||
New-TimeSpan | Создает объект TimeSpan. | Командлет | |||||
Enable-WindowsOptionalFeature | Включает функцию в образе Windows. | Командлет | |||||
Set-NetConnectionProfile | Изменяет сетевую категорию профиля подключения. | Функция | |||||
New-ScheduledTaskTrigger | Создает объект триггера запланированной задачи. | Функция | |||||
Rename-Computer | Переименование компьютера. | Командлет | |||||
Get-Event | Получает события в очереди событий. | Командлет | |||||
Test-WSMan | Проверяет, запущена ли служба WinRM на локальном или удаленном компьютере. | Cmdlet | |||||
Get-AppxProvisionedPackage | Получает информацию о пакетах приложений (.appx) в образе, который будет устанавливаться для каждого нового пользователя. | Командлет | |||||
Ожидание процесса | Ожидает остановки процессов перед приемом дополнительных входных данных. | Командлет | |||||
Ожидание | wjb | Подавляет командную строку до тех пор, пока одно или все фоновые задания Windows PowerShell, запущенные в сеансе, не будут завершены. | Командлет | ||||
Запись-отладка | Записывает сообщение отладки в консоль. | Cmdlet | |||||
Import-Certificate | Импортирует один или несколько сертификатов в хранилище сертификатов. | Командлет | |||||
New-EventLog | Создает новый журнал событий и новый источник событий на локальном или удаленном компьютере. | Командлет | |||||
Get-Host | Получает объект, представляющий текущую хост-программу. | Командлет | |||||
Invoke-WmiMethod | Вызывает методы WMI. | Командлет | |||||
Сценарий обновления | Обновляет сценарий. | Функция | |||||
Новая служба | Создает новую службу Windows. | Командлет | |||||
ConvertFrom-Csv | Преобразует свойства объекта в формате значений с разделителями-запятыми (CSV) в CSV-версии исходных объектов. | Командлет | |||||
Invoke-Item | ii | Выполняет действие по умолчанию для указанного элемента. | Командлет | ||||
Enable-WSManCredSSP | Включает аутентификацию CredSSP на компьютере. | Командлет | |||||
Get-Unique | gu | Возвращает уникальные элементы из отсортированного списка. | Cmdlet | ||||
Find-Package | Находит программные пакеты в доступных источниках пакетов. | Командлет | |||||
Out-Host | oh | Отправляет вывод в командную строку. | Cmdlet | ||||
Format-Volume | Форматирует один или несколько существующих томов или новый том в существующем разделе. | Функция | |||||
Пользовательский формат | fc | Использует настроенное представление для форматирования вывода. | Командлет | ||||
Get-SmbServerConfiguration | Извлекает конфигурацию сервера SMB. | Функция | |||||
Mount-DiskImage | Монтирует ранее созданный образ диска (виртуальный жесткий диск или ISO), делая его обычным диском. | Функция | |||||
Clear-Host | clear, cls | Очищает дисплей в основной программе. | Функция | ||||
Start-DscConfiguration | Применяет конфигурацию к узлам. | Командлет | |||||
Get-SmbOpenFile | Извлекает основную информацию о файлах, открытых от имени клиентов SMB-сервера. | Функция | |||||
Add-VpnConnection | Добавляет VPN-соединение в телефонную книгу диспетчера подключений. | Функция | |||||
Set-DnsClientServerAddress | Устанавливает адреса DNS-серверов, связанные со свойствами TCP / IP на интерфейсе. | Функция | |||||
Export-ModuleMember | Задает экспортируемые элементы модуля. | Командлет | |||||
Get-PSSession | gsn | Получает сеансы Windows PowerShell на локальных и удаленных компьютерах. | Командлет | ||||
Get-PSSnapin | Получает оснастки Windows PowerShell на компьютере. | Командлет | |||||
Get-NetConnectionProfile | Получает профиль подключения. | Функция | |||||
Get-NetFirewallRule | Получает правила брандмауэра с целевого компьютера. | Функция | |||||
Push-Location | pushd | Добавляет текущее местоположение в верхнюю часть стека местоположений. | Командлет | ||||
Get-Volume | Получает указанный объект Volume или все объекты Volume, если фильтр не предусмотрен. | Функция | |||||
New-NetLbfoTeam | Создает новую команду NIC. | Функция | |||||
Get-NetTCPConnection | Получает TCP-соединения. | Функция | |||||
Stop-Computer | Останавливает (выключает) локальные и удаленные компьютеры. | Командлет | |||||
Set-StrictMode | Устанавливает и применяет правила кодирования в выражениях, скриптах и блоках скриптов. | Командлет | |||||
Set-NetFirewallRule | Изменяет существующие правила брандмауэра. | Функция | |||||
Add-AppxProvisionedPackage | Добавляет пакет приложения (.appx), который будет устанавливаться для каждого нового пользователя в образ Windows. | Командлет | |||||
Enable-BitLocker | Включает шифрование для тома BitLocker. | Функция | |||||
Get-Location | gl, pwd | Получает информацию о текущем рабочем местоположении или стеке местоположений. | Командлет | ||||
Set-NetIPInterface | Изменяет IP-интерфейс. | Функция | |||||
New-VirtualDisk | Создает новый виртуальный диск в указанном пуле хранения. | Функция | |||||
Remove-PSSession | rsn | Закрывает один или несколько сеансов Windows PowerShell (PSSessions). | Командлет | ||||
Set-NetIPAddress | Изменяет конфигурацию IP-адреса. | Функция | |||||
Зарегистрировать-запланированное задание | Создает запланированное задание. | Командлет | |||||
Set-SmbServerConfiguration | Устанавливает конфигурацию службы SMB. | Функция | |||||
New-Partition | Создает новый раздел на существующем объекте Disk. | Функция | |||||
Remove-PSDrive | rdr | Удаляет временные диски Windows PowerShell и отключает подключенные сетевые диски. | Командлет | ||||
Remove-Variable | rv | Удаляет переменную и ее значение. | Командлет | ||||
Get-WindowsOptionalFeature | Получает информацию о дополнительных функциях в образе Windows. | Командлет | |||||
Import-Clixml | Импортирует файл CLIXML и создает соответствующие объекты в Windows PowerShell. | Cmdlet | |||||
Import-PfxCertificate | Импортирует сертификаты и закрытые ключи из файла обмена личной информацией (PFX) в хранилище назначения. | Cmdlet | |||||
Uninstall-Package | Удаляет один или несколько пакетов программного обеспечения. | Командлет | |||||
Set-AuthenticodeSignature | Добавляет подпись Authenticode в сценарий Windows PowerShell или другой файл. | Командлет | |||||
Set-NetAdapter | Устанавливает основные свойства сетевого адаптера. | Функция | |||||
Set-Alias | sal | Создает или изменяет псевдоним для командлета или другого командного элемента в текущем сеансе Windows PowerShell. | Командлет | ||||
Set-WmiInstance | Создает или обновляет экземпляр существующего класса инструментария управления Windows (WMI). | Командлет | |||||
Disable-WindowsOptionalFeature | Отключает функцию в образе Windows. | Cmdlet | |||||
Update-Module | Загружает и устанавливает новейшую версию указанных модулей из онлайн-галереи на локальный компьютер. | Функция | |||||
New-LocalUser | Создает локальную учетную запись пользователя. | Командлет | |||||
Mount-WindowsImage | Монтирует образ Windows в файле WIM или VHD в каталог на локальном компьютере. | Командлет | |||||
Get-ItemPropertyValue | gpv | Получает значение одного или нескольких свойств указанного элемента. | Командлет | ||||
New-Alias | nal | Создает новый псевдоним. | Командлет | ||||
New-JobTrigger | Создает триггер для запланированного задания. | Командлет | |||||
Get-History | ghy, h, history | Получает список команд, введенных во время текущего сеанса. | Командлет | ||||
New-CimSession | Создает сеанс CIM. | Командлет | |||||
Get-LocalGroup | Получает локальные группы безопасности. | Командлет | |||||
ConvertTo-Xml | Создает представление объекта на основе XML. | Командлет | |||||
New-PSSessionOption | Создает объект, содержащий расширенные параметры для сеанса PSSession. | Командлет | |||||
Add-WindowsCapability | Устанавливает пакет возможностей Windows в указанный образ операционной системы. | Командлет | |||||
Новая переменная | nv | Создает новую переменную. | Командлет | ||||
Convert-Path | cvpa | Преобразует путь из пути Windows PowerShell в путь поставщика Windows PowerShell. | Командлет | ||||
Get-LocalGroupMember | Получает участников из локальной группы. | Командлет | |||||
Add-WindowsPackage | Добавляет один файл .cab или .msu в образ Windows. | Командлет | |||||
Invoke-CimMethod | Вызывает метод класса CIM. | Командлет | |||||
ConvertFrom-String | CFS | Извлекает и анализирует структурированные свойства из содержимого строки. | Cmdlet | ||||
Export-Certificate | Экспорт сертификата из хранилища сертификатов в файл. | Командлет | |||||
Отменить регистрацию запланированной задачи | Отменяет регистрацию запланированной задачи. | Функция | |||||
ConvertFrom-StringData | Преобразует строку, содержащую одну или несколько пар ключей и значений, в хеш-таблицу. | Cmdlet | |||||
Install-PackageProvider | Устанавливает одного или нескольких поставщиков пакетов управления пакетами. | Командлет | |||||
Get-LocalUser | Получает локальные учетные записи пользователей. | Командлет | |||||
Clear-Content | clc | Удаляет содержимое элемента, но не удаляет элемент. | Cmdlet | ||||
Remove-Module | rmo | Удаляет модули из текущего сеанса. | Командлет | ||||
Get-VpnConnection | Извлекает информацию о заданном профиле VPN-подключения. | Функция | |||||
Export-PfxCertificate | Экспорт сертификата или объекта PFXData в файл обмена личной информацией (PFX). | Командлет | |||||
Get-NetIPConfiguration | Получает конфигурацию IP-сети. | Функция | |||||
Export-WindowsDriver | Экспортирует все сторонние драйверы из образа Windows в папку назначения. | Командлет | |||||
Grant-SmbShareAccess | Добавляет разрешающую запись ACE для доверительного управляющего в дескриптор безопасности общего ресурса SMB. | Функция | |||||
Initialize-Disk | Инициализирует RAW-диск при первом использовании, позволяя отформатировать диск и использовать его для хранения данных. | Функция | |||||
Get-NetIPInterface | Получает IP-интерфейс. | Функция | |||||
Get-PfxCertificate | Получает информацию о.pfx файлы сертификата на компьютере. | Командлет | |||||
Invoke-Pester | Вызывает Pester для выполнения всех тестов (файлов, содержащих * .Tests.ps1) рекурсивно по пути | Function | s Add | Добавляет ODBC DSN. | Функция | ||
Format-Wide | fw | Форматирует объекты как широкую таблицу, в которой отображается только одно свойство каждого объекта. | Командлет | ||||
Get-Partition | Возвращает список всех объектов разделов, видимых на всех дисках, или, при необходимости, отфильтрованный список с использованием заданных параметров. | Функция | |||||
Set-Disk | Принимает объект «Диск» или уникальные идентификаторы диска и набор атрибутов и обновляет физический диск в системе. | Функция | |||||
Get-ScheduledJob | Получает запланированные задания на локальном компьютере. | Командлет | |||||
Get-PnpDevice | Возвращает информацию об устройствах PnP. | Функция | |||||
Get-Tpm | Получает объект, содержащий информацию о TPM. | Командлет | |||||
Disable-NetAdapterBinding | Отключает привязку к сетевому адаптеру. | Функция | |||||
Get-PSRepository | Получает репозитории PowerShell. | Функция | |||||
Исходное значение по умолчанию | Отправляет вывод в средство форматирования по умолчанию и командлет вывода по умолчанию. | Командлет | |||||
Add-PrinterDriver | Устанавливает драйвер принтера на указанный компьютер. | Функция | |||||
Set-WinUserLanguageList | Устанавливает список языков и связанные свойства для текущей учетной записи пользователя. | Командлет | |||||
Get-ScheduledTaskInfo | Получает информацию о времени выполнения для запланированной задачи. | Функция | |||||
Enable-NetFirewallRule | Включает ранее отключенное правило брандмауэра. | Функция | |||||
Out-Printer | lp | Отправляет вывод на принтер. | Командлет | ||||
Add-PrinterPort | Устанавливает порт принтера на указанном компьютере. | Функция | |||||
Set-WinSystemLocale | Устанавливает системный языковой стандарт (язык для программ, не поддерживающих Юникод) для текущего компьютера. | Cmdlet | |||||
Find-Module | Находит модули из онлайн-галереи, соответствующие заданным критериям. | Функция | |||||
Get-NetAdapterVmq | Получает свойства VMQ сетевого адаптера. | Функция | |||||
Stop-Transcript | Останавливает расшифровку. | Командлет | |||||
Get-SmbSession | Извлекает информацию о сеансах SMB, которые в настоящее время установлены между сервером SMB и ассоциированными клиентами. | Функция | |||||
Set-PSSessionConfiguration | Изменяет свойства зарегистрированной конфигурации сеанса. | Командлет | |||||
Add-MpPreference | Изменяет настройки Защитника Windows. | Функция | |||||
Set-SmbShare | Изменяет свойства общего ресурса SMB. | Функция | |||||
Set-VpnConnection | Изменяет параметры конфигурации существующего профиля VPN-подключения. | Функция | |||||
Start-ScheduledTask | Запускает один или несколько экземпляров запланированной задачи. | Функция | |||||
Suspend-BitLocker | Приостанавливает шифрование Bitlocker для указанного тома. | Функция | |||||
Get-SmbShareAccess | Извлекает ACL общего ресурса SMB. | Функция | |||||
Set-PSDebug | Включает и выключает функции отладки сценария, устанавливает уровень трассировки и переключает строгий режим. | Cmdlet | |||||
Get-StartApps | Получает имена и AppID установленных приложений. | Функция | |||||
Add-VpnConnectionRoute | Добавляет маршрут к VPN-соединению. | Функция | |||||
Get-VirtualDisk | Возвращает список объектов VirtualDisk для всех пулов хранения, всех поставщиков или, возможно, отфильтрованного подмножества на основе заданных критериев. | Функция | |||||
Запись информации | Определяет, как Windows PowerShell обрабатывает данные потока информации для команды. | Командлет | |||||
New-ScheduledTask | Создает экземпляр запланированной задачи. | Функция | |||||
Set-Culture | Устанавливает язык и региональные параметры для текущей учетной записи пользователя. | Командлет | |||||
New-ScheduledTaskSettingsSet | Создает новый объект параметров запланированной задачи. | Функция | |||||
New-ScheduledTaskAction | Создает действие запланированной задачи. | Функция | |||||
Set-Partition | Устанавливает атрибуты раздела, такие как активное, только для чтения и автономное состояние. | Функция | |||||
Очистить переменную | clv | Удаляет значение переменной. | Командлет | ||||
Add-KdsRootKey | Создает новый корневой ключ для группы Microsoft KdsSvc в Active Directory. | Командлет | |||||
Exit-PSSession | exsn | Завершает интерактивный сеанс с удаленным компьютером. | Командлет | ||||
Add-LocalGroupMember | Добавляет участников в локальную группу. | Командлет | |||||
Set-LocalUser | Изменяет локальную учетную запись пользователя. | Командлет | |||||
Remove-Computer | Удаляет локальный компьютер из домена. | Командлет | |||||
New-NetNat | Создает объект NAT. | Функция | |||||
Set-SmbClientConfiguration | Устанавливает конфигурацию клиента SMB. | Функция | |||||
Set-ScheduledTask | Изменяет запланированную задачу. | Функция | |||||
Remove-ItemProperty | rp | Удаляет свойство и его значение из элемента. | Командлет | ||||
Set-Printer | Обновляет конфигурацию существующего принтера. | Функция | |||||
Set-PhysicalDisk | Устанавливает атрибуты на конкретном физическом диске. | Функция | |||||
Set-Date | Изменяет системное время на компьютере на указанное вами время. | Cmdlet | |||||
Repair-WindowsImage | Восстанавливает образ Windows в файле WIM или VHD. | Командлет | |||||
Set-NetAdapterVmq | Устанавливает свойства VMQ сетевого адаптера. | Функция | |||||
Remove-WmiObject | Удаляет экземпляр существующего класса инструментария управления Windows (WMI). | Командлет | |||||
New-NetRoute | Создает маршрут в таблице IP-маршрутизации. | Функция | |||||
Optimize-Volume | Оптимизирует объем. | Функция | |||||
New-Volume | Создает том с указанной файловой системой. | Функция | |||||
New-StoragePool | Создает новый пул хранения, используя группу физических дисков. | Функция | |||||
New-SmbMapping | Создает отображение SMB. | Функция | |||||
Set-DscLocalConfigurationManager | Применяет настройки LCM к узлам. | Командлет | |||||
New-ScheduledTaskPrincipal | Создает объект, содержащий участника запланированной задачи. | Функция | |||||
Get-Culture | Получает текущий язык и региональные параметры, установленный в операционной системе. | Командлет | |||||
Set-PSRepository | Устанавливает значения для зарегистрированного репозитория. | Функция | |||||
Set-NetFirewallProfile | Настраивает параметры, которые применяются к конфигурациям отдельных профилей брандмауэра Windows в режиме повышенной безопасности. | Функция | |||||
Get-Alias | gal | Получает псевдонимы для текущего сеанса. | Командлет | ||||
Get-DnsClientServerAddress | Получает IP-адреса DNS-сервера из свойств TCP / IP на интерфейсе. | Функция | |||||
Set-MpPreference | Настраивает параметры сканирования и обновлений Защитника Windows. | Функция | |||||
Save-Module | Сохраняет модуль локально без его установки. | Функция | |||||
Изменить размер раздела | Изменяет размер раздела и базовой файловой системы. | Функция | |||||
Ремонт-Том | Выполняет ремонт тома. | Функция | |||||
Удалить принтер | Удаляет принтер с указанного компьютера. | Функция | |||||
Remove-PhysicalDisk | Удаляет физический диск из указанного пула хранения. | Функция | |||||
Remove-NetIPAddress | Удаляет IP-адрес и его конфигурацию. | Функция | |||||
Register-PSRepository | Регистрирует репозиторий PowerShell. | Функция | |||||
Get-WindowsCapability | Получает возможности Windows для образа или работающей операционной системы. | Командлет | |||||
Get-BitLockerVolume | Получает информацию о томах, которые BitLocker может защитить. | Функция | |||||
Get-Clipboard | Получает текущую запись буфера обмена Windows. | Командлет | |||||
Get-ComputerInfo | Получает объединенный объект системы и свойств операционной системы. | Командлет | |||||
Get-InitiatorPort | Получает один или несколько портов инициатора адаптера главной шины (HBA). | Функция | |||||
Get-BitsTransfer | Получает связанный объект BitsJob для существующего задания передачи BITS. | Командлет | |||||
Get-AuthenticodeSignature | Получает информацию о подписи Authenticode для файла. | Cmdlet | |||||
Get-AppvClientPackage | Возвращает клиентские пакеты App-V. | Командлет | |||||
Set-WSManQuickConfig | Настраивает локальный компьютер для удаленного управления. | Командлет | |||||
New-Guid | Создает GUID. | Функция | |||||
Get-StorageJob | Возвращает информацию о давно выполняющихся заданиях модуля хранения, например о задаче восстановления. | Функция | |||||
Удалить модуль | Удаляет модуль. | Функция | |||||
Get-InstalledModule | Получает установленные модули на компьютере. | Функция | |||||
Confirm-SecureBootUEFI | Подтверждает, что безопасная загрузка включена, проверяя состояние безопасной загрузки на локальном компьютере. | Командлет | |||||
Set-Clipboard | Устанавливает текущую запись буфера обмена Windows. | Командлет | |||||
Get-TlsCipherSuite | Получает список наборов шифров для TLS для компьютера. | Командлет | |||||
Очистить диск | Очищает диск, удаляя всю информацию о разделах и деинициализируя его, стирая все данные на диске. | Функция |
Get-Command PowerShell — Javatpoint
Командлет PowerShell Get-Command используется для получения всех команд, установленных в компьютерной системе. Этот командлет включает функции, другие командлеты, псевдонимы, фильтры, сценарии и приложения. Мы можем получить только те команды, которые были импортированы в текущий сеанс, используя параметр -ListImported .
С запуском Windows PowerShell 5.0 этот командлет по умолчанию отображает столбец версии .
Синтаксис
Get-Command
[[-ArgumentList] <Объект []>]
[-Verb <строка []>]
[-Существительное <строка []>]
[-Модуль <строка []>]
[-FullyQualifiedModule
Get-Command
[[-Название] <строка []>]
[[-ArgumentList] <Объект []>]
[-Модуль <строка []>]
[-FullyQualifiedModule
Параметры
-Список аргументов
Параметр -ArgumentList используется для указания массива аргументов.Псевдоним для этого параметра — Args . Подстановочные знаки не поддерживаются.
Глагол
Параметр -Verb используется для указания массива командных глаголов. Допускаются подстановочные знаки.
-Существительное
Параметр -Noun используется для указания массива командных существительных. Допускаются подстановочные знаки.
-Модуль
Параметр -Module используется для указания массива модулей. Он получает те команды, которые поступают из указанных модулей.
Параметр -Module принимает строковые значения, но его значение также может быть объектом PSModuleInfo.
-FullyQualifiedModule
Параметр -FullyQualifiedModule используется для указания модулей с именами, которые указаны в форме ModuleSpecification объектов.
-TotalCount
Параметр -TotalCount используется для указания количества получаемых команд. Мы также можем использовать его для ограничения вывода команды.
-Syntax
Параметр -Syntax используется, чтобы указать, что этот командлет получает следующие указанные данные о команде:
- Функции и фильтры: получает определение функции.
- Псевдонимы: получает имя стандарта.
- Командлеты: получает синтаксис.
- Сценарии и приложения или файлы: получает имя файла и путь.
-ShowCommandInfo
Параметр -ShowCommandInfo используется, чтобы указать, что этот командлет отображает только информацию о команде.Он был представлен в Windows PowerShell 5.0.
-Все
Он используется в этом командлете для получения всех этих команд, которые включают в себя команды одного типа с одинаковыми именами. Он был представлен в Windows PowerShell 3.0.
— Импортировано из списка
Параметр -ListImported используется в этом командлете для получения только команд в текущем сеансе. Он был представлен в Windows PowerShell 3.0.
-Имя
Параметр -Name используется для указания массива имен.Он используется в этом командлете для получения только тех команд, у которых есть указанное имя. Допускаются подстановочные знаки.
— Тип команды
Параметр -CommandType используется для указания типа команды, возвращаемой этим командлетом. Мы также можем использовать Type в качестве псевдонима.
-Имя параметра
-ParameterName — это параметр, который используется для указания имен параметров. Этот командлет получает в сеансе те команды, которые имеют указанный параметр.Допускаются подстановочные знаки. Он был представлен в Windows PowerShell 3.0.
-Тип параметра
-ParameterType — это параметр, который используется для указания массива типов параметров. Этот командлет получает в сеансе те команды, которые имеют параметры указанного типа. Введите полное или частичное имя типа параметра. Разрешены символы подстановки. Он был представлен в Windows PowerShell 3.0.
Примеры
Пример 1. Получить все командлеты, псевдонимы и функции
Этот командлет отображает все командлеты, псевдонимы и функции консоли PowerShell, которые установлены на компьютере.
Пример 2: Получить команды в текущем сеансе
Командлет в этом примере использует параметр -ListImported для получения команд в текущем сеансе.
Пример 3: Получить команды в модуле
Командлет в этом примере использует параметр -Module для получения команд в модулях Microsoft.PowerShell.Utility и Microsoft.PowerShell.Security.
Пример 4: Получить синтаксис любого командлета
В этом примере командлет использует параметры -ArgumentList и -Syntax для получения синтаксиса командлета Get-childItem .