Лучшие сочетания клавиш для Windows PowerShell ISE
Интегрированная среда сценариев PowerShell (ISE) — это место, где вы можете разрабатывать и тестировать сценарии и приложения PowerShell. Все версии операционной системы Microsoft Windows, будь то Windows Server, Pro или Home, включают PowerShell ISE.
Поскольку Windows Powershell ISE является средой редактирования, применяются самые распространенные сочетания клавиш Microsoft Office, такие как Ctrl + C для копирования и Ctrl + V для вставки. Приведенные ниже сочетания клавиш относятся к интегрированной среде сценариев Powershell.
Ctrl + Tab и Ctrl + Shift + Tab: перемещает фокус интегрированной среды сценариев PowerShell с вкладки на вкладку. Ctrl + Tab переместит вас вправо, а Ctrl + Shift + Tab — влево.
Ctrl + T: открывает новую рабочую область PowerShell. Вы можете использовать это для разделения таких вещей, как проекты приложений, использующие несколько сценариев
Обратите внимание, как наши исходные три сценария открыты в рабочей области PowerShell 1. Выберите рабочее пространство PowerShell 2 для работы над другим проектом
Ctrl + W: закрывает текущую рабочую область PowerShell и все открытые сценарии. Если сценарий еще не сохранен, откроется диалоговое окно с вопросом, хотите ли вы сохранить изменения или нет.
Ctrl + M: свернуть или развернуть контур
Обратите внимание на предложение ForEach ниже и знаки + и – рядом с ним. На первом изображении показано свернутое предложение ForEach; второй показывает развернутый сценарий
Ctrl + F: найти определенный текст в скрипте. Это сочетание клавиш открывает окно поиска. Вы увидите параметры, которые можно применить к поиску, например «Учитывать регистр», «Все слово», «Искать вверх», «Найти в выделенном». Вы также можете использовать регулярные выражения. Поиск начинается там, где в скрипте стоит курсор.
F3: Находит следующее вхождение параметров поиска. Вы можете использовать кнопку «Найти далее» в окне «Найти», но окно мешает. Попробуйте нажать F3, чтобы перейти к следующему вхождению. Он будет иметь подсветку курсора.
Shift + F3: что, если вы пропустите то, что вам нужно, с помощью F3? Просто используйте Shift + F3, чтобы найти предыдущее вхождение. Он также будет иметь подсветку курсора.
Ctrl + H: находит и заменяет любой текст в скрипте другим текстом. К этому инструменту можно применить те же параметры, что и к инструменту «Найти».
Ctrl + J: открывает окно выбора фрагментов. Фрагменты — это небольшие фрагменты кода с правильным синтаксисом. Дважды щелкните, чтобы вставить фрагмент, затем добавьте свои параметры.
Ctrl + пробел: аналогично показу фрагментов, эта команда открывает Intellisense. Intellisense предоставляет зависящие от контекста параметры, такие как параметры или компараторы. В этом случае он показывает возможные значения параметра -ErrorAction для командлета Remove-Item. Нажмите на один, чтобы выбрать его.
F5: запускает весь скрипт и предлагает его сохранить. Установите флажок рядом с В дальнейшем не показывать это сообщение, а затем ОК для запуска и сохранения, нажав F5 в будущем. Это то же самое, что нажать кнопку «Выполнить сценарий».
F8: выберите раздел сценария PowerShell и нажмите F8, чтобы запустить только этот фрагмент. Это помогает отлаживать скрипт по частям. Это то же самое, что нажать кнопку Run Selection.
Ctrl + C или Ctrl + Break: останавливает выполнение сценария. Если у вас выделен какой-то текст, Ctrl + Break остановит операцию в этой точке. Это еще один ярлык, полезный для отладки ваших скриптов. Выбор кнопки «Остановить операцию» имеет тот же эффект.
Запуск PowerShell через комбинацию клавиш
Одним из удобных методов запуска оболочки PowerShell, при очень частом использовании, является назначение для нее горячего сочетания клавиш, при нажатии которых вызывается оболочка. Делается, это очень просто. Откройте окно свойств PowerShell, на вкладке «Ярлык» найдите пункт «Быстрый вызов», по умолчанию он имеет статус нет.
Выберите его и нажмите клавишу Shift или Ctrl, или CTRL+SHIFT, в результате чего у вас подставится конструкция для будущей комбинации и так же нажмите любую клавишу из буквенного диапазона, в моем примере получилось CTRL + SHFT + C. Именно такой комбинацией я буду вызывать свою оболочку PowerShell. Сохраняем настройки. Так же отмечу, что вы легко можете ее отменить или поменять на другую.
Пробую ввести комбинацию быстрого вызова CTRL + SHFT + C, как вижу все прекрасно работает.
Debian 9
Установка PowerShell 7 в Debian 9.
Установка необходимых пакетов
sudo apt update sudo apt install -y curl gnupg apt-transport-https
Импорт публичных GPG ключей репозитория
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
Регистрация репозитория Microsoft Product
sudo sh -c 'echo "deb https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main" > /etc/apt/sources.list.d/microsoft.list'
Обновление списка программ
sudo apt update
Установка PowerShell
sudo apt install -y powershell
Запуск PowerShell
pwsh
Обновление PowerShell будет проходить автоматически при обновлении всех пакетов в системе. Вы можете отдельно запустить обновление PowerShell командами:
sudo apt update sudo apt install powershell
Удаление в Debian 9
sudo apt remove powershell
What’s the future of PowerShell?
PowerShell Core will be provided with new feature updates and fixes while the older PowerShell will just be provided with bug fixes and security updates.
This is an official statement from Microsoft about the future of PowerShell:
However, there are currently no plans to introduce new functionality to Windows PowerShell. This means that the risk of regression will be very low for Windows PowerShell, so you can count on it as a stable platform for your existing workloads.
But actually, PowerShell Core is not as powerful as the full PowerShell, so it will need some time to have both guises aligned. For now, PowerShell Core isn’t a drop-in replacement for Windows PowerShell because Core has a different audience and intent.
PowerShell | PowerShell Core | |
Versions | 1.0 to 5.1 | 6 |
Platforms Supported | Only Windows client and Server) | Windows, Linux, and MacOS |
Dependency | .NET Framework | .NET Core |
Usage | Depends on .NET Framework Runtime | Depends on .NET Core Runtime |
Launched as | powershell.exe | pwsh.exe on Windows and pwsh on MacOS and Linux |
Future Updates for | Bug fixes and Security Updates only | Feature Update, Bug Fixes as well as Security Updates |
- SQL Server on Linux
- Azure Backup Now Supports Linux Applications Protection
Работа с компьютером
Windows PowerShell позволяет выполнять административные задачи для операционной системы и компьютера в целом, например, перезапустить операционную систему или переименовать компьютер.
- Restart-Computer – командлет перезапускает операционную систему (перезагружает компьютер);
- Stop-Computer – выключает компьютер;
- Rename-Computer – переименовывает компьютер;
- Checkpoint-Computer — создает точку восстановления системы на локальном компьютере;
- Restore-Computer — запускает восстановление системы на локальном компьютере;
- Disable-ComputerRestore — отключает функцию восстановления системы на указанном диске файловой системы;
- Enable-ComputerRestore — включает функцию восстановления системы на указанном диске файловой системы;
- Remove-Computer — удаляет локальный компьютер из домена;
- Get-EventLog – выводит информацию о событиях в журнале событий, или список журналов событий на локальном или удаленном компьютере;
- Clear-EventLog — удаляет записи из указанных журналов событий.
openSUSE
Установка PowerShell 7 в openSUSE 42.3
Установите зависимости:
zypper update && zypper --non-interactive install curl tar libicu52_1
Загрузите ‘.tar.gz’ архив powershell:
curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-linux-x64.tar.gz -o /tmp/powershell.tar.gz
Создайте целевую папку, где будет размещён powershell:
mkdir -p /opt/microsoft/powershell/7
Распакуйте powershell в целевую папку:
tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7
Добавьте разрешение на выполнение:
chmod +x /opt/microsoft/powershell/7/pwsh
Создайте символическую ссылку, которая указывает на pwsh:
ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
Запустите PowerShell:
pwsh
Установка PowerShell 7 в openSUSE Leap 15
Установите зависимости:
zypper update && zypper --non-interactive install curl tar gzip libopenssl1_0_0 libicu60_2
Загрузите ‘.tar.gz’ архив powershell:
curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-linux-x64.tar.gz -o /tmp/powershell.tar.gz
Создайте целевую папку, где будет размещён powershell:
mkdir -p /opt/microsoft/powershell/7
Распакуйте powershell в целевую папку:
tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7
Добавьте разрешение на выполнение:
chmod +x /opt/microsoft/powershell/7/pwsh
Создайте символическую ссылку, которая указывает на pwsh:
ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
Запустите PowerShell:
pwsh
Удаление из openSUSE 42.3, openSUSE Leap 15:
rm -rf /usr/bin/pwsh /opt/microsoft/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», тут будут оба режима.
Управление пакетами (автоустановка программ)
Модуль: PackageManagement
В Windows 10 встроено управление поставщиками пакетов (оно же OneGet), с помощью которого вы можете загрузить и тихо установить сразу несколько приложений одной командой! Это похоже на Apt-Get в Linux, но можно провести и параллели с Ninite или InstallPack (кто-нибудь пользуется?)
Увеличить рисунокАрхитектура управления пакетами
Я редко делаю чистую установку основной системы, но на ВМ это происходит регулярно. И OneGet очень удобен для быстрой автоустановки ключевого набора программ.
Примечание. Можно использовать этот модуль, не устанавливая WMF 5.0. Предварительная версия модуля для PS 4.0 и 3.0 доступна отдельно — март 2016 тут, а более свежие ищите поиском в центре загрузки по запросу PackageManagement PowerShell Modules Preview.
Установка программ
В этом примере из репозитория Chocolatey устанавливаются четыре программы и полный набор утилит Sysinternals. Первые три команды выполняются однократно, причем смену политики надо подтвердить. Четвертая команда тихо устанавливает перечисленные программы, а пятая просто экономит время.
#Разрешить установку подписанных пакетов из Интернета Set-ExecutionPolicy RemoteSigned #Установить поставщик Chocolatey Get-PackageProvider –Name Chocolatey -ForceBootstrap #Сделать Chocolatey доверенным Set-PackageSource -Name Chocolatey -Trusted #Установить программы Install-Package NotepadPlusPlus, vlc, firefox, filezilla, sysinternals -Verbose -Force -ProviderName chocolatey #Добавить путь к исполняемым файлам (sysinternals) в PATH setx PATH "$env:path;C:\Chocolatey\bin" -m
Поставщик скачивает в C:\Chocolatey\lib пакет, в основе которого лежит скрипт chocolateyInstall.ps1. Он загружает установщик программы с официального сайта в папку %temp%\Chocolatey и запускает его в режиме тихой установки. Простейший пример – Notepad++.
Install-ChocolateyPackage 'notepadplusplus' 'exe' '/S' 'https://notepad-plus-plus.org/repository/6.x/6.9/npp.6.9.Installer.exe'
Поиск программ
В репозиториях много программ, все самые популярные точно есть.
Find-Package '*zip*','*commander*' -ProviderName Chocolatey
Удаление программ
С удалением приложений не все так гладко, впрочем.
Uninstall-Package -name filezilla
В идеале удаление пакета должно повлечь тихое удаление программы, но реализация зависит от автора пакета и возможностей установщика. На практике одни пакеты не содержат скриптов для удаления, другие придумывают костыли в виде скриптов AutoHotkey, третьи просто запускают деинсталляцию интерактивно, предлагая вам закончить процесс вручную. Впрочем, если установщик — MSI, удаление работает четко.
Ссылки по теме OneGet и тихой установки:
- Пошаговое руководство по установке программ из PowerShell (Дмитрий Буланов)
- Командлеты управления пакетами (TechNet)
- Типы инсталляторов и ключи тихой установки (моя статья 2005 года вполне актуальна
- Сайт автоустановки Windows и форум автоустановки программ
Alpine
Приведенная ниже таблица содержит список поддерживаемых сейчас выпусков PowerShell и версий Alpine, в которых они поддерживаются. Эти версии поддерживаются до окончания поддержки версии PowerShell или до окончания жизненного цикла версии Alpine.
- Значок указывает, что версия ОС или PowerShell по-прежнему поддерживается.
- Значок » указывает, что версия PowerShell больше не поддерживается в этой версии ОС.
- Значок указывает, что тестирование PowerShell в этой ОС еще не завершено.
- Значок » указывает, что версия ОС или PowerShell не поддерживается.
- Если и версия ОС, и версия PowerShell имеют значок «, это сочетание поддерживается.
Alpine | 7.2 (текущая LTS) | 7.3 | 7.4 (предварительная версия) |
---|---|---|---|
3.15 | |||
3.14 |
Alpine 3.15 находится в процессе тестирования.
PowerShell поддерживается в Alpine для перечисленных ниже архитектур процессора.
Alpine | 7.2 (текущая LTS) | 7.3 | 7.4 (предварительная версия) |
---|---|---|---|
Все поддерживаемые версии | X64 | X64 | X64 |
Проверка PowerShell в Alpine с помощью процессоров ARM не проводилась.
Дополнительные сведения см. в статье Установка PowerShell в Alpine.
Работа с Hyper-V
Для работы с Hyper-V в Windows PowerShell существует много командлетов, вот небольшой перечень:
- New-VM — создание новой виртуальной машины;
- Set-VM — настройка виртуальной машины;
- Start-VM — запуск виртуальной машины;
- Stop-VM — закрытие, выключение или сохранение виртуальной машины;
- Import-VM — импорт виртуальной машины из файла;
- Move-VM — перемещение виртуальной машины на новый Hyper-V хост;
- Remove-VM — удаление виртуальной машины;
- Rename-VM — переименование виртуальной машины;
- New-VHD — создание одного или нескольких новых виртуальных жестких дисков;
- Set-VHD – настройка виртуального жесткого диска;
- Test-VHD — тестирование виртуального жесткого диска на предмет обнаружения проблем, которые сделали бы его непригодным для использования;
- Add-VMDvdDrive — добавляет DVD диск к виртуальной машине;
- Remove-VMDvdDrive — удаляет DVD-диск из виртуальной машины;
- Add-VMHardDiskDrive — добавляет жесткий диск к виртуальной машине;
- Remove-VMHardDiskDrive — удаляет один или несколько виртуальных жестких дисков (VHD) из виртуальной машины;
- Add-VMNetworkAdapter — добавляет виртуальный сетевой адаптер на виртуальной машине;
- Remove-VMNetworkAdapter — удаляет один или несколько виртуальных сетевых адаптеров из виртуальной машины;
- Copy-VMFile — копирование файлов на виртуальную машину;
- Get-VMVideo – выводит информацию о настройках видео для виртуальных машин;
- Move-VMStorage — перемещение хранилища виртуальной машины.
Импорт истории команд PowerShell в другую сессию
В некоторых случаях может быть полезно иметь под рукой один и тот же список часто используемых команд PowerShell на разных компьютерах. Вы можете экспортировать текущую историю команд в XML-файл и импортировать его на другие компьютеры. Это можно сделать, скопировав файл ConsoleHost_history.txt в профиль пользователя на нужных компьютерах.Вы также можете использовать командлет для экспорта команд из текущего сеанса в файл :
Чтобы импортировать команды из файла в другой сеанс PoSh (на локальном компьютере или другом), запустите:
Чтобы автоматически импортировать команды в файл в конце сеанса PoSh, сценарий может быть связан с событием завершения сеанса PoSh (!! Сеанс должен быть завершен с помощью команды , а не просто закрытием окна PoSh):
Источник изображения: winitpro.ru
Сравнение cmdlets с аналогичными командами
В следующей таблице содержится выборка cmdlets, поставляющихся с PowerShell, с приведением максимально похожих команд из других широко известных оболочек командной строки.
Следует отметить, что данная таблица приводится для поверхностного ознакомления, она не охватывает всех возможностей представленных оболочек.
Windows PowerShell(Cmdlet) | Windows PowerShell(Alias) | cmd.exe / COMMAND.COM(MS-DOS, Windows, OS/2, etc.) | Bash(Unix, BSD, Linux, Mac OS X и т. п.) | Описание |
---|---|---|---|---|
Get-Location | gl, pwd | cdcd без параметров выводит текущий каталог. | pwd | Отображает текущий рабочий каталог |
Set-Location | sl, cd, chdir | cd, chdir | cd | Меняет текущий каталог |
Clear-Host | cls, clear | cls | clear | Очищает экранClear-Host реализован как предопределённая функция PowerShell. |
Copy-Item | cpi, copy, cp | copy | cp | Копирует один или несколько файлов или дерево директорий (в PowerShell также можно копировать объекты других поставщиков данных) |
Get-Help | help, man | help | man | Справка по командам |
Remove-Item | ri, del, erase, rmdir, rd, rm | del, erase, rmdir, rd | rm, rmdir | Удаляет файл/каталог (или другой элемент в поставщиках данных PowerShell). |
Rename-Item | rni, ren | ren, rename | mv | Переименовывает файл/каталог |
Move-Item | mi, move, mv | move | mv | Перемещает файл/каталог в новое местоположение |
Get-ChildItem | gci, dir, ls | dir | ls | Выводит все файлы/каталоги в текущем каталоге |
Write-Output | echo, write | echo | echo | Выводит строки, переменные на стандартный вывод |
Pop-Location | popd | popd | popd | Изменяет текущий каталог на тот, который был последним помещён в стек |
Push-Location | pushd | pushd | pushd | Помещает текущий каталог в стек |
Set-Variable | sv, set | set | set | Установка значения переменной/создание переменной |
Get-Content | gc, type, cat | type | cat | Получает содержимое файла |
Select-String | sls | find]], findstr | grep | Выводит строки, подходящие под условие |
Get-Process | gps, ps | tlist,Available in Windows NT4, Windows 98 Resource Kit, Windows 2000 Support Tools tasklist Available in Windows XP Professional Edition and later | ps | Выводит все запущенные процессы |
Stop-Process | spps, kill | kill, taskkill | kill | Останавливает запущенный процесс |
Tee-Object | tee | n/a | tee | Передаёт входные данные в файл или переменную, затем передаёт их дальше по конвейеру |
Как открыть PowerShell через контекстное меню кнопки «Пуск» в Windows 10
Компания Microsoft, все больше делает акцент с командной строки в сторону своего сильного языка (PowerShell), и это логично, так как его возможности по управлению операционными системами семейства Windows, почти безграничны, а то и больше, чем в графическом интерфейсе. Начиная с версии Windows 10 1709, в контекстном меню, PowerShell, заменил всем привычный cmd. Щелкаете правым кликом по кнопке пуск в Windows 10 и из контекстного меню, выбираем соответствующий пункт:
- Windows PowerShell
- Windows PowerShell (администратор) — это как раз и есть режим с максимальными правами в Windows 10.
Часто задаваемые вопросы
Является ли PowerShell Core расширяемым?
Да, вы можете использовать модули для добавления дополнительных командлетов в PowerShell Core. Вы можете использовать командлет Get-Module для просмотра установленных модулей. Вы также можете добавить дополнительные модули, загрузив их, а затем используя командлет Import-Module для загрузки модуля в PowerShell.
Каковы существенные архитектурные различия между PowerShell и PowerShell Core?
Основное архитектурное различие между PowerShell и PowerShell Core заключается в том, что хотя PowerShell работает только в Windows, PowerShell Core может работать в Windows, macOS и Linux. На более фундаментальном уровне самая большая разница между ними заключается в том, что PowerShell зависит от.NET Framework, а PowerShell Core использует среду выполнения.NET Core.
Installing the ZIP package
PowerShell binary ZIP archives are provided to enable advanced deployment scenarios. Download one of
the following ZIP archives from the current release page.
- PowerShell-7.2.0-win-x64.zip
- PowerShell-7.2.0-win-x86.zip
- PowerShell-7.2.0-win-arm64.zip
- PowerShell-7.2.0-win-arm32.zip
Depending on how you download the file you may need to unblock the file using the
cmdlet. Unzip the contents to the location of your choice and run from there. Unlike
installing the MSI packages, installing the ZIP archive doesn’t check for prerequisites. For
remoting over WSMan to work properly, ensure that you’ve met the
.
Use this method to install the ARM-based version of PowerShell on computers like the Microsoft
Surface Pro X. For best results, install PowerShell to the to
folder.
Fedora
Примечание: Fedora 28 поддерживается только в PowerShell 6.1 и новее.
Примечание: Fedora 29 и 30 поддерживаются только в PowerShell 7.0 и новее.
Установка PowerShell 7 в Fedora 28, 29, и 30.
Зарегистрируйте GPG ключи репозитория Microsoft:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
Зарегистрируйте репозиторий Microsoft RedHat:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
Обновите список пакетов:
sudo dnf check-update
Установите зависимости:
sudo dnf install compat-openssl10
Установите PowerShell:
sudo dnf install -y powershell
Запустите PowerShell:
pwsh
Как установить подсистему Windows для Linux, используя функции Windows
Прежде чем устанавливать какой-либо дистрибутив Linux на ПК с Windows 10, вам необходимо установить подсистему Windows для Linux (WSL). Если вы предпочитаете щелчки для запуска команд, самый простой способ сделать это — воспользоваться функциями Windows.
В поле поиска на панели задач введите «функции» и нажмите или нажмите «Включить или отключить функции Windows».
В окне «Функции Windows» прокрутите список параметров и выберите функцию «Подсистема Windows для Linux». Затем нажмите или нажмите OK.
Подождите несколько секунд, чтобы Windows 10 применила необходимые изменения.
После внесения изменений Windows 10 сообщает, что вам необходимо перезагрузить компьютер или устройство, чтобы завершить установку.
Перезагрузите сейчас или выберите перезагрузить позже, если у вас все еще есть работа на компьютере или устройстве с Windows 10.
General setup information
PowerShell 6 or higher, and SSH must be installed on all computers. Install both the SSH client
() and server () so that you can remote to and from the computers. OpenSSH for
Windows is now available in Windows 10 build 1809 and Windows Server 2019. For more information, see
Manage Windows with OpenSSH. For Linux,
install SSH, including sshd server, that’s appropriate for your platform. You also need to install
PowerShell from GitHub to get the SSH remoting feature. The SSH server must be configured to create
an SSH subsystem to host a PowerShell process on the remote computer. And, you must enable
password or key-based authentication.
Основные команды для PowerShell
В программе поддерживается огромное количество команд, применяемых к различным компонентам операционной системы Windows 10. Хорошо что есть возможность получить справку о любой команде непосредственно в окне программы Windows PowerShell. Это поможет разобраться с основными командами и принципами работы в новой среде.
- Get-Help — отображение справочных сведений о командлетах и основных понятиях. В справке описываются командлеты, функции, сценарии и модули, а также объясняются основные понятия, в том числе элементы языка Windows PowerShell.
- Update-Help — загрузка и установка файлов справки с общей папки или Интернета. После обновлений операционной системы может понадобиться обновление справки — обнаружение, скачивание и установка обновлений для модулей.
- Get-Command — вывод всех доступных функций и командлетов, с авто заполнением строки. Выбрав интересующую команду, выполните её с Get-Help для быстрого получения справки. Например, ознакомится с Get-Help Remove-AppxPackage.
Заключение
На самом деле Windows PowerShell — это очень полезная программа, которая не раз экономила нам время. Множество инструкций писались на примерах с её использованием. Но даже половина возможностей обновлённой оболочки не была задействована. О работе в ней можно написать значительно больше. Но благодаря основным командам можно ознакомиться со всеми возможностями программы.
Копирование файлов между сессиями
Командлет: Copy-Item
Новая возможность командлета copy упрощает администраторам вполне типовую задачу копирования файлов на удаленный ПК. На целевой машине должна работать служба удаленного управления WinRM, которая конфигурируется одной командой:
Enable-PSRemoting
Для подключения к машине в доверенном домене больше ничего не требуется. В рабочей группе надо на своем ПК добавить целевой компьютер в доверенные узлы по имени ПК или IP-адресу:
#добавить ПК в доверенные узлы Set-Item wsman:localhost\client\trustedhosts -value "192.168.1.113" #убрать ПК из доверенных узлов #Set-Item wsman:localhost\client\trustedhosts -value ""
Дальше вы создаете новую сессию, указывая имя пользователя для подключения к удаленному ПК, и вводите учетные данные. В созданную сессию можно копировать файлы.
$rs = New-PSSession -ComputerName 192.168.1.113 -Credential test-pc\vadim Copy-Item -Path "C:\temp\my.csv" -Destination "C:\temp\" -ToSession $rs
Полезное дополнение к возможностям удаленного управления PowerShell, согласитесь.
Raspbian
Установка PowerShell 7 в Raspbian.
Поддержка Raspbian является эксперементальной.
В настоящее время, PowerShell только поддерживается на Raspbian Stretch.
CoreCLR и PowerShell будут работать только на устройствах Pi 2 и Pi 3, а другие устройства, такие как Pi Zero, имеют неподдерживаемый процессор.
Загрузитье Raspbian Stretch и следуйте последующим инструкциям по установки чтобы получить PowerShell на вашем устройстве Pi.
Обновите кэш установочных файлов:
sudo apt update
Установка libunwind8 и libssl1.0. Используется регулярное выражение, чтобы убедиться, что мы не будем устанавливать libssl1.0-dev, так как этот пакет не нужен:
sudo apt install '^libssl1.0.$' libunwind8 -y
Загрузите и извлеките PowerShell. Поменяйте ссылку на самую последую версию в формате tar.gz:
wget https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-linux-arm32.tar.gz
Сделайте папку для powershell:
mkdir ~/powershell
Распакуйте tar.gz файл:
tar -xvf ./powershell-7.1.3-linux-arm32.tar.gz -C ~/powershell
Запустите PowerShell:
~/powershell/pwsh
Опционально, вы можете сделать символическую ссылку для запуска PowerShell без указания пути до исполнимого файла pwsh.
Запустите PowerShell из bash с sudo для создания символической ссылки:
sudo ~/powershell/pwsh -c New-Item -ItemType SymbolicLink -Path "/usr/bin/pwsh" -Target "$PSHOME/pwsh" -Force
В качестве альтернативы, вы можете запустить следующую команду для создания символической ссылки:
# sudo ln -s ~/powershell/pwsh /usr/bin/pwsh
Теперь для запуска PowerShell достаточно просто набрать «pwsh».
Удаление из Raspbian:
rm -rf ~/powershell
Процессы вывода из команды Tasklist
Самый простой способ получить быстрый список процессов, запущенных в вашей системе Windows, — использовать команду tasklist. Чтобы правильно запустить команду, вам нужно запустить ее из командной строки от имени администратора.
Для этого выберите меню «Пуск» и введите «команда», затем наведите указатель мыши на командную строку, чтобы она была выделена, и выберите «Запуск от имени администратора» справа.
Примечание. Вам может потребоваться выбрать «Да» во всплывающем окне, чтобы подтвердить запуск командной строки от имени администратора.
Как только откроется командная строка, введите tasklist и нажмите ввод, чтобы увидеть список процессов, запущенных в вашей системе.
Это полезно, но не предоставляет вам список запущенных процессов в текстовом файле. Чтобы сохранить процессы в файл, повторите процесс выше, но на этот раз введите команду:
список задач> c: process_list.txt
Это выведет текстовый файл с именем process_list.txt на ваш диск C :. Вы можете изменить C: на любой другой путь, куда вы хотите поместить файл, если хотите.
Чтобы просмотреть файл, просто откройте проводник Windows и перейдите к месту, в котором вы сохранили файл списка процессов.
Чтобы просмотреть этот список процессов в Блокноте, щелкните файл правой кнопкой мыши, выберите «Открыть с помощью» и выберите «Блокнот».
Это самый быстрый и простой способ увидеть запущенные процессы в Windows через текстовый файл. Он покажет вам PID, имя сеанса, номер сеанса и использование памяти.