Invoke-WebRequest является одним из наиболее часто используемых web-мастерами и SMM-щиками командлетом, так как именно он делает работу с различными сайтами легкой и удобной, так как позволяет напрямую обращаться и работать с HTML-кодов web-документов Интернета.
Поэтому невозможность выполнения этого командлета очень часто делает нерабочими очень многие сценарии PowerShell, предназначенные для получения информации с сайтов.
Ошибка «Имя «Invoke-WebRequest» не распознано как имя командлета, функции, файла скрипта или выполняемой программы» в сценарии PowerShell возникает из-за того, что установленная в системе версия PoS слишком старая и не содержит командлет Invoke-WebRequest.
Для устранения этой ошибки достаточно просто загрузить обновление Windows6.1-KB2506143-x64, которое обновит PowerShell, после чего работа с командлетом Invoke-WebRequest станет возможной.
Если это не поможет, попробуйте установить следующие обновления:
для PowerShell 3.0 для Windows Server 2008 R2 и Windows 7:
Установка PostgreSQL 12 на Windows 10 – видео-инструкция для начинающих
- Windows6.1-KB2506143-x64
- Windows6.1-KB2506143-x86
для PowerShell 4.0 для Windows 7, Windows Server 2008 R2 и Windows Server 2012:
- Windows6.1-KB2819745-x64-MultiPkg
- Windows6.1-KB2819745-x86-MultiPkg
- Windows8-RT-KB2799888-x64
Зная номера KB, вы без труда сможете найти их на сайте Microsoft.com.
-
Создание и продвижение сайтов
- Имя Invoke-WebRequest не распознано как имя командлета
![]() Имя Invoke-WebRequest не распознано как имя командлета |
Источник: seo-praktika.com
Powershell ps1 file » не распознается как командлет, функция, действующая программа или файл сценария.»
Я только что сделал функцию Powershell и сохранил ее в файле ps1. Однако, когда я пытаюсь выполнить его из powershell, он не будет запущен.
Я уже изменил настройки для запуска неподписанного кода, введя эту команду:
set-executionpolicy remotesigned
Function listAllPaths([string]$fromFolder, [string]$filter, [string]$printfile) < Get-ChildItem -Path $fromFolder -Include $filter -Recurse -Force -Name >$printfile >
что он делает, это создать текстовый файл, в котором перечислены все пути к определенному файлу.
Я поместил его непосредственно под c: и назвал файл listAllPaths, то же самое как функция.
когда я ввожу следующую команду внутри Powershell:
Я получаю сообщение об ошибке сказав:
listAllPaths термин ‘.пс1 не распознано как командлет, функция, выполняемая программа или файл сценария. Проверьте термин и повторите попытку.
Имя не распознано как имя командлета
Я пробовал несколько вещей, и я честно не знаю, как заставить это работать? Я ожидаю, что файл будет создан по заданному пути, c: в этом образец. Этот файл с именем testingPDF.txt и содержимое, являющееся сгенерированным этим.
может кто-нибудь сказать мне, что я забыл здесь.
и нет, Google не отвечает на все. Уже пробовал. Я бы не пришел и не спросил его здесь, если бы я уже не попробовал онлайн-поисковые системы.
автор: Roger Lipscombe
3 ответов
Это типичная ошибка на многих платформах, где путь к среде не включает текущий каталог. поэтому при выполнении скрипта (команды или программы и т. д.) среда выполнения выглядит везде, кроме текущего/рабочего каталога.
изменить: После прочтения ваших комментариев, я собираюсь предложить вам попробовать это. Я на самом деле не проверил логику вашего скрипта ПС. Я просто пытаюсь заставить твой сценарий исполниться. первый.
попробуйте отредактировать сценарий, как показано ниже, и выполните, как указано выше.
Function listAllPaths([string]$fromFolder, [string]$filter, [string]$printfile) < Get-ChildItem -Path $fromFolder -Include $filter -Recurse -Force -Name >$printfile > listAllPaths
автор: Chaitan
Я мог бы быть вне базы здесь, но это то, что ваш скрипт определение функция, а не ее выполнение? Возможно, вам нужно «source» скрипт:
. .listallpaths.ps1
. так что теперь ваша функция» listallpaths » определена.
автор: Matt Hamilton
Если вы замените «function listallpaths» на param и избавитесь от окружающего <>, как это..
param([string]$fromFolder, [string]$filter, [string]$printfile) Get-ChildItem -Path $fromFolder -Include $filter -Recurse -Force -Name > $printfile
У вас будет файл сценария, который вы можете вызвать по мере необходимости.
Как упоминал Мэтт, объявив функцию, когда вы вызывали скрипт, он создавал функцию, а затем выходил. Сценарий PowerShell-это в основном функция, хранящаяся в файле (без окружающих фигурных скобок.. они подразумеваются), где сама функция будет храниться в память.
Источник: askdev.ru
Термин «msbot» не распознается как имя командлета, функции, файла сценария или работоспособной программы.
Я попробовал это в моем проекте osgi Bundle, чтобы установить такую зависимость:
org.apache.servicemix.bundles org.apache.servicemix.bundles.spring-core 4.1.1.RELEASE_3
Запуск в Felix. Найдены найденные спринтерские пучки:
START LEVEL 1 ID|State |Level|Name . 5|Resolved | 1|Apache ServiceMix :: Bundles :: spring-expression (4.1.1.RELEASE_3) 6|Active | 1|Apache Felix Gogo Command (0.14.0) 7|Active | 1|Apache Felix Gogo Runtime (0.12.1) 8|Active | 1|Apache Felix Gogo Shell (0.10.0) . 10|Active | 1|Apache ServiceMix :: Bundles :: spring-context (4.1.1.RELEASE_3) 11|Active | 1|Apache ServiceMix :: Bundles :: spring-core (4.1.1.RELEASE_3) .
Но в последнем выпуске 5.4.0, ServiceMix включает только Spring 3.2.11.
Есть ли риск, когда весна 4.1.1 используется в моей OSGi-среде?
задан Billy 5 March 2019 в 16:21
1 ответ
1128 Это может быть вызвано несколькими причинами. Вот несколько шагов по устранению неполадок, которые вы можете попробовать:
- Если ваша консоль работает внутри кода Visual Studio или VS, попробуйте запустить ее с обычной консоли.
- Если вы только что установили msbot , вам может потребоваться закрыть и снова открыть консоль.
- Убедитесь, что ваша папка npm была добавлена в ваши переменные среды. См. «Добавление переменных среды» ниже.
- Если у вас уже есть переменная PATH , добавленная на шаге 3, вам может потребоваться переместить эту запись, чтобы убедиться, что она выше / до пути установки вашего узла ( %ProgramFiles%nodejs ) [ 1123]
Добавление переменной среды
- Меню Пуск> Введите «переменные среды» и нажмите Enter
[ 1129]
- Щелкните Переменные среды
-
Двойной щелчок по пути [1126 ]
- Убедитесь, что C:Users\AppDataRoamingnpm (или ваш путь установки npm) был добавлен в переменную PATH. Вам может потребоваться перезагрузить компьютер, чтобы это вступило в силу.
Источник: legkovopros.ru