Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в рунете Pyatilistnik.org. Ранее я вас научил производить установку Windows 11, показал где брать установочный образ. В данной новой ОС есть много новых командлетов PowerShell и еще больше дополнительных модулей, расширяющих функционал.
Сегодня я вам покажу, как устанавливать и управлять модулями PowerShell, как их сохранять и переносить на другой компьютер. Думаю, что многие из вас найдут для себя много полезной информации.
Что такое модуль PowerShell?
Модуль PowerShell — это совокупность функций PowerShell или сгруппированного кода, сосредоточенного вокруг общей основной темы. Все командлеты и поставщики PowerShell добавляются модулем или оснасткой.
Различные типы модулей PowerShell
Существует 4 различных типа модулей PowerShell:
- Скриптовые модули — Самый распространенный тип модуля, не требующий знания C#, в основном любые файлы PSM1, содержащие в основном функции и код, используемые разработчиками скриптов и администраторами.
- Бинарные модули — Содержат скомпилированный код на основе сборки .NET Framework (DLL), используемый разработчиками командлетов для создания модулей, содержащих командлеты, поставщиков и т. д.
- Модули манифеста — Скриптовые модули, содержащие манифест, например, с информацией об авторе и т. д.
- Динамические модули — Специальный тип модуля, который никогда не записывается на диск и существует только в памяти. Элементы динамического модуля (функции/переменные) сразу же доступны в сеансе PowerShell, пока сеанс не будет закрыт.
Где хранятся модули PowerShell
Для того, чтобы найти у себя в системе место хранения модулей PowerShell, вам нужно воспользоваться командой:
Installing Software through Power Shell, Intro to powershell scripts
$env : PSModulePath
Установка модулей PowerShell
Установка модулей очень простой процесс. Чтобы найти установленные, но еще не запущенные модули, запустите теперь известную команду Get-Module -ListAvailable.
Чтобы получить список только импортированных модулей в текущем сеансе, просто запустите Get-Module.
Find-Module -Name VMware . PowerCLI
Можно найти модули с похожими именами. например все, что связано с Vmware.
Find-Module -Name VMware*
Как установить приложения с помощью Powershell
Можно найти модуль по минимальной версии или по конкретной версии.
Find-Module -Name VMware . PowerCLI -MinimumVersion 12.5.0.19195797
Find-Module -Name VMware . PowerCLI -RequiredVersion 12.5.0.19195797
Дополнительные ключи смотрите по ссылке — https://docs.microsoft.com/en-us/powershell/module/powershellget/find-module?view=powershell-7.2 .
Далее найдя нужный модуль, установим его, выполните команду.
Install-Module -Name VMware . PowerCLI
Еще можно объединять команды:
Find-Module -Name VMware . PowerCLI -MinimumVersion 12.5.0.19195797 | Install-Module
Дополнительные ключи смотрите по ссылке — https://docs.microsoft.com/en-us/powershell/module/powershellget/install-module?view=powershell-7.2
Как сохранить модули PowerShell
Бывают ситуации, когда у вас в системе нет интернета, а необходимость в модуле есть. Тут можно перенести заранее сохраненные модули на такую автономную системы, через флешку, или копирование по сети. Но для начала их нужно сохранить, для этого вы можете выполнить такую команду:
Save-Module -Name x Robocopy,Pscx -Path C:TempModule-PowerShell
После переноса не забываем импортировать модуль, и если потребуется, то подкрутить политику ExecutionPolicy. Чтобы импортировать удаленный модуль, сначала необходимо создать PSSession (через New-PSSession ). Следующим шагом является импорт модуля, доступного на удаленном устройстве.
Import-Module -Name ActiveDirectory -PSSession $AdminServer -Prefix ‚Rmt’)
Чтобы удалить модуль, команда Remove-Module выполняет эту работу. После удаления все команды, которые когда-то был добавлен модулем, удаляются из сеанса, это работает как реверсия импорта модуля. Обратите внимание, что из локальной сессии будет удален только модуль, но без удаления файлов модуля.
Удаленное использование модуля с другого компьютера
$session = New-PSSession -ComputerName w10-module
Удостоверимся, что на удаленном сервере есть нужные нам модули, через команду:
Get-Module -PSSession $session –ListAvailable
импортируем теперь в свою текущую сессию нужный модуль с удаленного сервера:
Import-Module -PSsession $session -Name VMware . PowerCLI
После завершите сеанс, когда закончите:
Remove-PSSession $session
Еще можно использовать командлет Invoke-Command. Тут вы подключаетесь к удаленному серверу и импортируете модуль.
$session = New-PSSession -ComputerName w10-module
Invoke-Command -Session $session
Сохраним на локальный компьютер нужный нам модуль.
Export-PSSession -Session $s -CommandName *- PowerCLI * -OutputModule RemSQLServer -AllowClobber
Данная команда создаст на вашем компьютер новый PowerShell модуль VMware . PowerCLI (в каталоге C:Program FilesWindowsPowerShellModules ). Сами командлеты при этом не копируются. Далее закройте сессию.
Remove-PSSession $session
Теперь его можно локально импортировать и использовать.
Как удалить модуль PowerShell
Для удаления модуля со всеми файлами есть командлет Uninstall-Module. Выполните команду:
Uninstall-Module -Name xRobocopy
Где найти сторонние модули и скрипты PowerShell?
Помимо предустановленных модулей самой Windows PowerShell, существует огромное количество сторонних модулей. Для поиска конкретных модулей я рекомендую PowerShellGallery. Он функционирует как центральный репозиторий для обмена и получения кода PoSh, такого как модули, скрипты и многое другое. В основном они распространяются через PSRepository, которые обычно представляют собой веб-серверы, на которых можно публиковать файлы, тогда как эти PSRepos можно размещать у себя или использовать с помощью онлайн-опций, таких как PowerShellGallery. Get-PSRepository откроет список доступных PSRepositories, помеченных информацией о том, публикует ли источник код, одобренный Microsoft или нет ( trusted/untrusted ). Чтобы изменить состояние доверия PowerShellGallery, например, используйте:
Get-PSRepository -Name PSGallery | Set-PSRepository -InstallationPolicy Trusted
На этом у меня все. Мы с вами разобрали полный цикл управления модулями PowerShell. С вами был Иван Сёмин. автор и создатель IT портала Pyatilistnik.org.
Популярные Похожие записи:
- Создание и использований функций PowerShell
Как установить vSphere PowerCLI последнюю версию
Ошибка установки Unable to resolve package source в PowerShell
Как запустить скрипт PowerShell в Windows
- Установка NuGet в Windows
Как поменять DNS имя подключения к Remote Desktop Services HA
One Response to Установка и управление модулями PowerShell
Здравствуйте, Иван!
Подскажите, пожалуйста, как установить модуль для работы с VK api?
Скачал vkapi.wrapper.1.2.5.nupkg, а как с ним поступить правильно — не ясно.
Заранее спасибо за подсказку!
Источник: pyatilistnik.org
Установка PowerShellGet
В PowerShell, начиная с версии 5.1 встроен модуль PowerShellGet.
Это Package Manager( или менеджер пакетов), позволяющий устанавливать модули из подключенного по умолчанию репозитория PSGallery.
Заметка поможет добавить этот модуль в более раннюю версию, например PowerShell 4.
Скачиваем модуль
Для загрузки модуля нам понадобится другой компьютер с версией PowerShell, не меньше чем 5.1.
# Сохраняем модуль в папку, вместе с его зависимостями Save-Module -LiteralPath «C:TempModules» -Name «PowerShellGet» -Repository «PSGallery» -MinimumVersion 2.0
Или же можно скачать с GitHub
Выясняем где хранятся модули PowerShell
$env:PSModulePath -split ‘;’
Переносим модуль на целевой компьютер, в папку с модулями
В PowerShell 5.1, внутри папки с модулем, имеется папка с названием версии модуля, и сами файлы хранятся уже в ней.
Для версии 4 файлы необходимо перенести в корень папки с именем модуля
Import-Module -Name PackageManagement Import-Module -Name PowerShellGet
Командлеты, для работы которых необходимо обращение к репозиторию (SaveFindInstall-Module), пока что не будут работать
Подключаем репозиторий
Register-PSRepository -Default
Готово! После этого можно использовать возможности модуля PowerShellGet
Добавление стороннего репозитория
Так же, при желании, можно подключить дополнительно сторонний репозиторий
# Добавляем провайдера Install-PackageProvider -Name Chocolatey # Проверяем Get-PackageSource
После этого можно устанавливать программы, которые разработчики разместили в репозитории
# Посмотреть все доступные пакеты Find-Package * -ProviderName chocolatey # Установить Notepad++ последней версии Find-Package notepadplusplus | Install-Package
Программы, при выполнении командлета Install-Package, будут установлены в тихом режиме в стандартное расположение, и дополнительно установочные файлы программ и их зависимости будут сохранены в папке C:Chocolatey
При их удалении программа сохраняется
Про ошибку при обновлении Powershell версии 4 до 5.1 я написал в следующей статье
Источник: administra.top
Установка Go и настройка локальной среды программирования в Windows 10
Go — это язык программирования, созданный Google в результате разочарования в других языках. Разработчикам постоянно приходилось выбирать между эффективным языком программирования с очень длительным временем компиляции и удобным языком программирования, не отличающимся эффективностью в производственной среде. Язык Go был разработан, чтобы одновременно обеспечить все три преимущества: высокую скорость компиляции, удобство программирования и эффективное исполнение в производственной среде.
Go — это универсальный язык программирования, который можно использовать для самых разнообразных проектов. Он особенно хорошо подходит для сетевых программ и распределенных систем и заработал себе репутацию «языка облака». Он дает современным программистам больше возможностей с мощным набором инструментов, позволяет устранить разногласия по поводу форматирования, делая формат частью спецификации языка, а также упрощает развертывание за счет компиляции в единый двоичный файл. Язык Go очень прост в изучении и имеет небольшой набор ключевых слов, что делает его идеальным вариантом как для начинающих, так и для опытных программистов.
В этом обучающем руководстве вы научитесь устанавливать Go на локальном компьютере Windows 10 и настраивать среду программирования через командную строку.
Предварительные требования
Вам потребуется компьютер Windows 10 с административным доступом и подключением к Интернету.
Шаг 1 — Открытие и настройка PowerShell
Основную часть установки и настройки вы будете выполнять через командную строку — текстовый интерфейс взаимодействия с компьютером. Вместо нажатия на кнопки вы вводите текст и получаете от компьютера обратную связь также в текстовом формате. Командная строка, также называемая оболочка, помогает изменять и автоматизировать многие повседневные задачи, выполняемые на компьютерах каждый день. Это необходимый и очень важный инструмент для разработчиков программного обеспечения.
PowerShell — это программа Microsoft, обеспечивающая оболочку интерфейса командной строки. Административные задачи выполняются посредством запуска cmdlets или командлетов, которые представляют собой специализированные классы программной структуры . NET, предназначенные для выполнения операций. Исходный код программы PowerShell был раскрыт в августе 2016 г., и теперь она доступна для разных платформ Windows и UNIX (включая Mac и Linux).
Чтобы найти Windows PowerShell, щелкните правой кнопкой мыши значок меню Пуск в левом нижнем углу экрана вашего компьютера. Когда появится меню, нажмите Search (Найти) и введите PowerShell в панель поиска. В списке вариантов щелкните правой кнопкой мыши приложение Windows PowerShell.
Для целей настоящего обучающего руководства нажмите Run as Administrator (Запуск от имени администратора). Когда откроется диалоговое окно Разрешить этому приложению вносить изменения на вашем устройстве?, нажмите Да.
После этого вы увидите текстовый интерфейс со строкой следующего вида:
Выйдите из системной папки с помощью следующей команды:
Теперь вы находитесь в домашнем каталоге, например, PS C:Users sammy .
Чтобы продолжить установку, вам нужно настроить разрешения через PowerShell. По умолчанию система настроена для работы в самом безопасном режиме, однако в качестве администратора вы можете настроить несколько уровней разрешений:
- Restricted — политика ограничения исполнения, заданная по умолчанию. В этом режиме вы не можете запускать скрипты, и PowerShell работает только как интерактивная оболочка.
- AllSigned — вы можете запускать все скрипты и файлы конфигурации, подписанные доверенным издателем, т. е. вы можете сделать свою систему уязвимой для вредоносных скриптов, которые выглядят как подписанные доверенным издателем.
- RemoteSigned — вы можете запускать загруженные из интернета скрипты и файлы конфигурации, подписанные доверенными издателями, что также делает вашу систему уязвимой к таким скриптам, если они носят вредоносный характер.
- Unrestricted — режим без ограничений, позволяющий запускать все скрипты и файлы конфигурации, загруженные из интернета сразу после того, как вы подтвердите, что понимаете, что файл загружен из интернета. В этом случае цифровая подпись не требуется, и ваша система становится уязвима для неподписанных и потенциально вредоносных скриптов, загруженных из интернета.
В этом обучающем руководстве мы используем политику исполнения RemoteSigned для установки разрешений для текущего пользователя. Она позволяет PowerShell принимать скрипты из доверенных источников, но не делает уровень разрешений таким широким, как при использовании политики Unrestricted . Введите в PowerShell следующую команду:
PowerShell предложит вам указать политику исполнения. Введите следующее, чтобы использовать политику RemoteSigned :
После нажатия клавиши ENTER вам будет предложено подтвердить изменение политики исполнения. Введите букву y для вступления изменений в силу. Вы можете проверить вступление изменений в силу, запросив текущий уровень разрешений в системе:
Вы должны получить результат, выглядящий следующим образом:
Output Scope ExecutionPolicy —— ————— MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser RemoteSigned LocalMachine Undefined
Это подтверждает, что текущий пользователь может запускать доверенные скрипты, загруженные из интернета. Теперь вы можете перейти к загрузке файлов, которые нам потребуются для настройки среды программирования Go.
Шаг 2 — Установка диспетчера пакетов Chocolatey
Диспетчер пакетов — это набор программных инструментов, предназначенный для автоматизации процессов установки. Он включает процесс первоначальной установки, обновления и настройки программного обеспечения, а также удаления программного обеспечения в случае необходимости. Диспетчер пакетов обеспечивает централизованное хранение установочных файлов программного обеспечения и может обслуживать все программные пакеты в системе в распространенных форматах.
Chocolatey — созданный для Windows диспетчер пакетов с интерфейсом командной строки, работающий наподобие диспетчера apt-get в Linux. Диспетчер пакетов Chocolatey с открытым исходным кодом поможет вам быстро устанавливать приложения и инструменты. Вы сможете использовать его для загрузки всего необходимого для вашей среды разработки.
Прежде чем устанавливать скрипт, прочитайте его и убедитесь, что вас устроят изменения, которые он внесет в вашу систему. Используйте систему скриптов . NET для загрузки и отображения скрипта Chocolatey в окне терминала.
Вначале создайте объект WebClient с именем $script , имеющий общие с Internet Explorer параметры подключения к интернету:
Для просмотра доступных опций передайте объект $script с помощью | в класс Get-Member :
В результате будут возвращены все члены (свойства и методы) этого объекта WebClient:
. . . [secondary_label Snippet of Output] DownloadFileAsync Method void DownloadFileAsync(uri address, string fileName), void DownloadFileAsync(ur. DownloadFileTaskAsync Method System.Threading.Tasks.Task DownloadFileTaskAsync(string address, string fileNa. DownloadString Method string DownloadString(string address), string DownloadString(uri address) #method we will use DownloadStringAsync Method void DownloadStringAsync(uri address), void DownloadStringAsync(uri address, Sy. DownloadStringTaskAsync Method System.Threading.Tasks.Task[string] DownloadStringTaskAsync(string address), Sy… . . .
Просматривая результат, вы увидите метод DownloadString , который используется для отображения скрипта и подписи в окне PowerShell. Используйте этот метод для просмотра скрипта:
После проверки скрипта установите Chocolatey, введя в PowerShell следующую команду:
Командлет iwr , или Invoke-WebRequest , позволяет извлекать данные из веб-источников. Эта команда передает скрипт в командлет iex , или Invoke-Expression , который запускает содержимое скрипта и выполняет установку диспетчера пакетов Chocolatey.
Разрешите PowerShell выполнить установку Chocolatey. После завершения установки вы можете начать установку дополнительных инструментов с помощью команды choco .
Если вам потребуется произвести обновление Chocolatey, запустите следующую команду:
После установки диспетчера пакетов вы можете установить все остальное, что требуется для среды программирования Go.
Шаг 3 — Установка текстового редактора Nano (необязательно)
На этом шаге вы выполните установку текстового редактора nano с интерфейсом командной строки. Вы можете использовать nano для написания программ в PowerShell. Это необязательно, поскольку вы также можете использовать Notepad или другой текстовый редактор с графическим интерфейсом. В этом обучающем модуле мы рекомендуем использовать nano, поскольку это поможет вам привыкнуть к работе с PowerShell.
Используйте Chocolatey для установки nano:
Флаг -y автоматически подтверждает, что вы хотите запустить скрипт, не получая запросов подтверждения.
После установки nano вы сможете использовать команду nano для создания новых текстовых файлов. Вы сможете использовать ее на последующих этапах этого обучающего модуля для написания вашей первой программы на Go.
Шаг 4 — Установка Go
Как и в случае с nano, вы будете использовать Chocolatey для установки Go:
Примечание: поскольку go — очень короткое слово, обычно в качестве термина при установке пакетов и при поиске в Интернете статей вместо него обычно используется термин golang . Термин Golang происходит от названия домена Go, а именно golang.org .
Теперь PowerShell выполнит установку Go и будет отображать ход выполнения в PowerShell. После завершения установки вы должны увидеть следующее:
OutputEnvironment Vars (like PATH) have changed. Close/reopen your shell to see the changes (or in powershell/cmd.exe just type `refreshenv`). The install of golang was successful. Software installed as ‘msi’, install location is likely default. Chocolatey installed 1/1 packages. See the log for details (C:ProgramDatachocolateylogschocolatey.log).
После завершения установки вы можете подтвердить установку Go. Чтобы увидеть изменения, закройте и заново откройте PowerShell от имени администратора, а затем проверьте версию Go на локальном компьютере:
Результаты будут выглядеть примерно так:
Outputgo version go1.12.1 windows/amd643.7.0
После установки Go вы сможете настроить рабочее место для своих проектов разработки.
Шаг 5 — Создание рабочего пространства Go
Вы установили Chocolatey, nano и Go и теперь можете создать собственное рабочее пространство программирования.
На корневом уровне рабочего пространства Go имеются две директории:
- src : это директория с исходными файлами Go. Исходный файл — это файл, который вы пишете на языке программирования Go. Компилятор Go использует исходные файлы для создания исполняемого двоичного файла.
- bin : директория, содержащая исполняемые файлы, которые были созданы и установлены инструментами Go. Исполняемые файлы — это бинарные файлы, которые выполняются в вашей системе и выполняют задачи. Обычно это программы, скомпилированные из вашего исходного кода или из другого загруженного исходного кода Go.
Подкаталог src может содержать несколько репозиториев контроля версий (например, Git, Mercurial и Bazaar). При импорте сторонних двоичных файлов вашей программой вы увидите такие директории, как github.com или golang.org . Если вы используете репозиторий кода, например, github.com , вы также помещаете в этот каталог свои проекты и файлы исходного кода. Это обеспечивает канонический импорт кода в ваш проект. Канонический импорт — это операция импорта, которая ссылается на полностью квалифицированный пакет, например, github.com/digitalocean/godo .
Вот так выглядит типичное рабочее пространство:
. ├── bin │ ├── buffalo # command executable │ ├── dlv # command executable │ └── packr # command executable └── src └── github.com └── digitalocean └── godo ├── .git # Git repository metadata ├── account.go # package source ├── account_test.go # test source ├── . ├── timestamp.go ├── timestamp_test.go └── util ├── droplet.go └── droplet_test.go
Директория по умолчанию рабочего пространства Go в версии 1.8 совпадает с домашним каталогом вашего пользователя с подкаталогом go или имеет адрес $HOME/go . Если вы используете версию Go ниже 1.8, лучше всего использовать для рабочего пространства адрес $HOME/go
Выполните следующую команду для перехода в каталог $HOME :
Затем создайте структуру каталогов для рабочего пространства Go:
Таким образом обеспечивается размещение следующей структуры каталогов:
└── $HOME └── go ├── bin └── src
До выпуска версии Go 1.8 обязательно было создавать локальную переменную среды с именем $GOPATH . Хотя это больше явно не требуется, создать такую переменную все равно полезно, поскольку многие сторонние инструменты зависят от ее использования.
Поскольку вы использовали для установки Chocolatey, эта переменная среды должна уже быть задана. Вы можете проверить это с помощью следующей команды:
Вы должны увидеть следующие результаты с вашим именем пользователя вместо sammy :
OutputC:Userssammygo
При компиляции и установке инструментов Go помещает их в каталог $GOPATH/bin . Для удобства стоит добавить подкаталог bin рабочего пространства в $PATH . Для этого вы можете использовать команду setx в PowerShell:
Это позволит вам запускать любые компилируемые или загружаемые программы через инструменты Go в любом месте в вашей системе.
Вы создали корневой каталог рабочего пространства и задали переменную среды $GOPATH . Теперь вы сможете создавать будущие проекты со следующей структурой каталогов. В этом примере предполагается, что вы используете github.com в качестве репозитория:
$GOPATH/src/github.com/username/project
Если вы работаете над проектом https://github.com/digitalocean/godo, он помещается в следующую директорию:
$GOPATH/src/github.com/digitalocean/godo
Такая структура проектов делает их доступными с помощью инструмента go get . Также она делает проекты удобнее для чтения.
Для проверки вы можете использовать команду go get для доставки библиотеки godo :
Примечание: если вы не установили git , Windows откроет диалоговое окно с предложением выполнить установку. Нажмите Да, чтобы продолжить, и следуйте указаниям по установке.
Можно проверить успешную загрузку пакета godo посредством вывода каталога:
Результат должен выглядеть примерно так:
Output Directory: C:Userssammygosrcgithub.comdigitaloceangodo Mode LastWriteTime Length Name —- ————- —— —- d—— 4/10/2019 2:59 PM util -a—- 4/10/2019 2:59 PM 9 .gitignore -a—- 4/10/2019 2:59 PM 69 .travis.yml -a—- 4/10/2019 2:59 PM 1592 account.go -a—- 4/10/2019 2:59 PM 1679 account_test.go -rw-r—r— 1 sammy staff 2892 Apr 5 15:56 CHANGELOG.md -rw-r—r— 1 sammy staff 1851 Apr 5 15:56 CONTRIBUTING.md . . . -a—- 4/10/2019 2:59 PM 5076 vpcs.go -a—- 4/10/2019 2:59 PM 4309 vpcs_test.go
На этом шаге вы создали рабочее пространство Go и настроили необходимые переменные среды. На следующем шаге мы протестируем рабочее пространство, запустив в нем код.