‘Термин не распознается как имя командлета’ — как исправить в Windows PowerShell

Я следую инструкциям по установке poshgit. При этом я побежал:
Install-Module posh-git
Ошибка:
Термин «Install-Module» не распознается как имя командлета, функции, файла сценария или работающей программы. Проверьте написание имени или, если был включен путь, убедитесь, что путь правильный, и повто….

2 ответа

Лучший ответ

Другой вариант исправления этой ошибки на основе графического интерфейса пользователя — загрузка модулей PowerShell для управления пакетами. (установщик msi) с веб-сайта Microsoft и установите модули.

После его установки вы не получите сообщение об ошибке «Install-Module не распознается как имя командлета».

23

Venkatesh Muniyandi 6 Фев 2017 в 01:12

У вас установлено PsGet? Это раздел Установка через PsGet.

Следующий раздел — это инструкции вручную:

  1. Убедитесь, что у вас установлен PowerShell 2.0 или выше, с помощью $ PSVersionTable.PSVersion

  2. Убедитесь, что выполнение сценариев разрешено, с помощью Get-ExecutionPolicy (должно быть RemoteSigned или Unrestricted). Если скрипты не включены, запустите PowerShell от имени администратора и вызовите Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Confirm.

  3. Убедитесь, что git можно запустить из PowerShell. Если команда не найдена, вам нужно будет добавить псевдоним git или добавить %ProgramFiles(x86)%Gitcmd (или %ProgramFiles%Gitcmd, если вы все еще на 32-разрядной версии) в переменную среды PATH.

  4. Клонируйте репозиторий posh-git на свой локальный компьютер.

  5. Из каталога репозитория posh-git запустите .install.ps1.

  6. Наслаждайтесь !

9

Etan Reisner 23 Апр 2015 в 16:04

Установка модуля управления обновлениями PSWindowsUpdate

Если вы используете Windows 10, вы можете установить модуль PSWindowsUpdate из онлайн репозитория через менеджер пакетов PackageManagement всего одной командой:

Install-Module -Name PSWindowsUpdate

В моем случае появилось предупреждение, что версия PSWindowsUpdate 1.5.2.6 уже установлена. Чтобы установить более новую версию, нужно запустить команду:

Install-Module -Name PSWindowsUpdate –Force

После окончания установки нужно проверить наличие пакета:

Get-Package -Name PSWindowsUpdate

Install-Module -Name PSWindowsUpdate устаовка модуля из галереи

Если у вас установлена более старая версия Windows (Windows 7/8.1/ Windows Server 2008 R2/ 2012 R2) или отсутствует прямой доступ в Интернет, вы можете установить модуль PSWindowsUpdate вручную.

Модуль PSWindowsUpdate можно установить на любые поддерживаемые версии Windows, начиная с Vista / Windows Server 2008 с установленным PowerShell 2.0 (но рекомендуется PowerShell версии 3.0 и выше).

  1. Скачайте последнюю версию модуля PSWindowsUpdate со страницы: https://gallery.technet.microsoft.com/scriptcenter/2d191bcd-3308-4edd-9de2-88dff796b0bc и разблокируйте скачанный файл;

    Обратите внимание, что в галерее скриптов TechNet доступна только старая версия модуля – v 1.5.6. В то время как менеджер пакетов NuGet устаналивает из PowershellGallery версию PSWindowsUpdate 2.1.1.2. В разных версиях модуля доступные командлеты и параметры могут отличаться.

    установка архива с модулем PSWindowsUpdate

  2. Распакуйте архив с модулем в один из каталогов %USERPROFILE%DocumentsWindowsPowerShellModules или %WINDIR%System32WindowsPowerShellv1.0Modules (при постоянном использовании модуля это лучший вариант);
  3. Разрешите выполнение PS1 скриптов: Set-ExecutionPolicy -Scope Process -ExecutionPolicy Unrestricted -Force
  4. Теперь вы можете импортировать модуль в свою сессию PowerShell: Import-Module PSWindowsUpdate

    Примечание. В Windows 7 / Server 2008 R2 при импорте модуля PSWindowsUpdate вы можете столкнутся с ошибкой вида: Имя «Unblock-File» не распознано как имя командлета. Дело в том, что в модуле используются некоторые функции, которые появились только в PowerShell 3.0. Для использования этих функций вам придется обновить PowerShell, либо вручную удалить строку | Unblock-File из файла PSWindowsUpdate.psm1

    .

После установки модуля PSWindowsUpdate на своем компьютере вы можете удаленно установить его на другие компьютеры или сервера с помощью командлета Update-WUModule. Например, чтобы скопировать PSWindowsUpdate модуль с вашего компьютера на два удаленных сервера, выполните команды (нужен доступ к удаленным серверам по протоколу SMB, порт TCP 445):

$Targets = «Server1», «Server2»
Update-WUModule -ComputerName $Targets –Local

Чтобы сохранить модуль в сетевой каталог для дальнейшего импорта модуля на других компьютерах, выполните:

Save-Module -Name PSWindowsUpdate –Path \fs01ps

Термин не признается в PowerShell

Если вы уже знакомы с PowerShell, вы сможете определить ошибку с помощью «термин не распознается как имя командлета». Если вы новичок в PowerShell, он еще некоторое время будет выглядеть бессмысленно.

Есть много вещей, которые могут пойти не так с командой PowerShell, но три специфические вещи являются наиболее распространенными. Это орфография, путь или модуль. Когда вы видите, что «термин не распознается как имя командлета», он, вероятно, будет одним из этих трех.

Орфографические ошибки в PowerShell

Если вы напишите что-то не так, PowerShell не сможет понять и выполнить. Это обычно труднее всего устранить, поскольку даже неправильное использование пробела может привести к отключению PowerShell. Когда это происходит, я считаю, что лучше всего выделить введенный текст, чтобы он немного выделялся, а затем перебирать его по буквам.

Если текста много или он вам не подходит, скопируйте его в Notepad ++ или другой текстовый редактор и проверьте его там. Повторите, если вы не видите ошибок, и повторите попытку. Не используйте Word или текстовый редактор, так как он мешает форматированию. Используйте простой текстовый редактор, такой как Блокнот или Блокнот ++.

Неправильный путь в PowerShell

Если вы ошиблись, PowerShell не сможет найти ваш скрипт. Например, если вы указываете PowerShell на определенную папку и вводите неправильную букву диска или указываете на общий ресурс, который недоступен, PowerShell не сможет выполнить свою задачу.

Это часто бывает, если вы пытаетесь выполнить командлет на удаленном компьютере. Если этот компьютер заблокирован или не разрешает удаленное выполнение определенных сценариев или изменений, произойдет ошибка. В большинстве случаев командлеты можно запускать удаленно, но некоторые организации разрешают запуск только сценариев высокого уровня. Все, что изменяет безопасность, политики или основные настройки, будет заблокировано. В этом случае вам нужно будет запустить скрипт локально.

Вы можете использовать «resol-path» или проверить путь вручную, чтобы увидеть, если это проблема с вашей командой.

Недостающие модули в PowerShell

Если модуль отсутствует или поврежден, PowerShell не сможет его выполнить. По умолчанию вам необходимо установить модули, чтобы использовать их. Если этот модуль отсутствует, поврежден или был перемещен, он может выдать «термин не распознается как имя командлета».

Вы можете использовать «get-module» в PowerShell, чтобы увидеть, присутствует ли модуль и работает ли он правильно. Он покажет вам, какие модули загружены, и вы можете добавить или восстановить в зависимости от ваших потребностей.

Description

The Install-Module cmdlet gets one or more modules that meet specified criteria from an onlinerepository. The cmdlet verifies that search results are valid modules and copies the module foldersto the installation location. Installed modules are not automatically imported after installation.You can filter which module is installed based on the minimum, maximum, and exact versions ofspecified modules.

If the module being installed has the same name or version, or contains commands in an existingmodule, warning messages are displayed. After you confirm that you want to install the module andoverride the warnings, use the -Force and -AllowClobber parameters. Dependent upon yourrepository settings, you might need to answer a prompt for the module installation to continue.

These examples use the PowerShell Gallery as the onlyregistered repository. Get-PSRepository displays the registered repositories. If you have multipleregistered repositories, use the -Repository parameter to specify the repository’s name.

Обзор команд модуля PSWindowsUpdate

Список доступных командлетов модуля можно вывести так:

get-command -module PSWindowsUpdate

Вкратце опишем назначение команд модуля:

  • Clear-WUJob – использовать Get-WUJob для вызова задания WUJob в планировщике;
  • Download-WindowsUpdate (алиас для Get-WindowsUpdate –Download) — получить список обновлений и скачать их;
  • Get-WUInstall, Install-WindowsUpdate (алиас для Get-WindowsUpdate –Install) – установить обвновления;
  • Hide-WindowsUpdate (алиас для Get-WindowsUpdate -Hide:$false) – скрыть обновление;
  • Uninstall-WindowsUpdate -удалить обновление с помощью Use Remove-WindowsUpdate;
  • Add-WUServiceManager – регистрация сервера обновления (Windows Update Service Manager) на компьютере;
  • Enable-WURemoting — включить правила файервола, разрешающие удаленное использование командлета PSWindowsUpdate;
  • Get-WindowsUpdate (Get-WUList) — выводит список обновлений, соответствующим указанным критериям, позволяет найти и установить нужное обновление. Это основной командлет модуля PSWindowsUpdate. Позволяет скачать и установить обновления с сервера WSUS или Microsoft Update. Позволяет выбрать категории обновлений, конкретные обновления и указать правила перезагрузки компьютера при установке обновлений;
  • Get-WUApiVersion – получить версию агента Windows Update Agent на компьютере;
  • Get-WUHistory – вывести список установленных обновлений (история обновлений);
  • Get-WUInstallerStatus — проверка состояния службы Windows Installer;
  • Get-WUJob – запуска заданий обновления WUJob в Task Scheduler;
  • Get-WULastResults — даты последнего поиска и установки обновлений (LastSearchSuccessDate и LastInstallationSuccessDate);
  • Get-WURebootStatus — позволяет проверить, нужна ли перезагрузка для применения конкретного обновления;
  • Get-WUServiceManager – вывод источников обновлений;
  • Get-WUSettings – получить настройки клиента Windows Update;
  • Invoke-WUJob – удаленное вызов заданий WUJobs в Task Schduler для немедленного выполнения заданий PSWindowsUpdate.
  • Remove-WindowsUpdate – удалить обновление;
  • Remove-WUServiceManager – отключить Windows Update Service Manager;
  • Set-PSWUSettings – сохранить настройки модуля PSWindowsUpdate в XML файл;
  • Set-WUSettings – настройка параметров клиента Windows Update;
  • Update-WUModule – обновить модуль PSWindowsUpdate (можно обновить модуль на удаленном компьютере, скопировав его с текущего, или обновить из PSGallery).

список командлетов модуля pswindowupdate

Управление обновлениями Windows на удаленных компьютерах через PowerShell

Практически все командлеты модуля PSWindowsUpdate позволяют управлять установкой обновлений на удаленных компьютерах. Для этого используется атрибут -Computername Host1, Host2, Host3.

Чтобы управлять обновлениями на удаленных компьютерах, нужно добавить их имена в список доверенных хостов winrm:

winrm set winrm/config/client ‘@{TrustedHosts=»HOST1,HOST2,…»}’

Установите модуль PSWindowsUpdate на удаленных компьютерах и разрешите в файерволе доступ по динамическим RPC портам к процессу dllhost.exe.

Использование PowerShell в Windows

Нет ничего плохого в том, что новичок использует PowerShell, если вы осторожны. Если вы используете его на домашнем компьютере, худшее, что может случиться, — это восстановление или перестройка системы. Если вы работаете на компьютерах компании, возможно, вам следует быть более осторожным.

Есть несколько полезных ресурсов для знакомства с PowerShell, например, эта страница на веб-сайте Microsoft Technet. Эта страница на Veeam также полезна для новичков в PowerShell. Он объясняет, что это такое, как его использовать, и предлагает много информации для новичков.

Не пугайтесь PowerShell, если вы новичок в этом. Создайте точку восстановления системы, прежде чем начинать и тренироваться. Самое худшее, что вы можете сделать, это разрушить установку Windows, но это легко исправить для домашнего пользователя!

Inputs

PSRepositoryItemInfo

Find-Module creates PSRepositoryItemInfo objects that can be sent down the pipeline toInstall-Module.

String[]

PSObject[]

String

PSCredential

Uri

Get-WUHistory: просмотр истории установленных обновлений Windows

С помощью команды Get-WUHistory вы можете получить список обновлений, установленных на компьютере ранее автоматически или вручную.

Get-WUHistory - история установки обновлений

Можно получить информацию о дате установки конкретного обновления:

Get-WUHistory| Where-Object {$_.Title -match «KB4517389»} | Select-Object *|ft

Get-WUHistory найти установленные обновления

Чтобы получить информацию об наличии установленного обновления на нескольких удаленных компьютерах, можно воспользоваться таким кодом:

«server1″,»server2» | Get-WUHistory| Where-Object {$_.Title -match «KB4011634»} | Select-Object *|ft

Remove-WindowsUpdate: Удаление обновлений

Для корректного удаления обновлений используется командлет Remove-WindowsUpdate. Вам достаточно указать номер KB в качестве аргумента параметра KBArticleID. Чтобы отложить автоматическую перезагрузку компьютера можно добавить ключ –NoRestart:

Remove-WindowsUpdate -KBArticleID KB4011634 -NoRestart

Hide-WindowsUpdate: как скрыть ненужные обновления с помощью PowerShell

Вы можете скрыть определенные обновления, чтобы они никогда не устанавливались службой обновлений Windows Update на вашем компьютер (чаще всего скрывают обновления драйверов). Например, чтобы скрыть обновления KB2538243 и KB4524570, выполните такие команды:

$HideList = «KB2538243», «KB4524570»
Get-WindowsUpdate -KBArticleID $HideList -Hide

или используйте alias:

Hide-WindowsUpdate -KBArticleID $HideList -Verbose

Hide-WindowsUpdate - скрыть обновление, запретить установку

Теперь при следующем сканировании обновлений с помощью команды Get-WUlist скрытые обновления не будут отображаться в списке доступных для установки патчей.

Вывести список обновлений, которые скрыты на данном компьютере можно так:

Get-WindowsUpdate –IsHidden

Обратите внимание, что в колонке Status у скрытых обновлений появился атрибут H (Hidden).

Get-WindowsUpdate –IsHidden отобразить скрытые обновления windows

Отменить скрытие некоторых обновлений можно так:

Get-WindowsUpdate -KBArticleID $HideList -WithHidden -Hide:$false

или так:

Show-WindowsUpdate -KBArticleID $HideList

Для тех, кто себя некомфортно чувствует в консоли PowerShell, для управления обновлениями Windows 10 могу порекомендовать графическую утилиту Windows Update MiniTool.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: