Имя ssh не распознано как имя командлета функции файла сценария или выполняемой программы

Обновлено: 05.07.2024

Я только что сделал функцию Powershell и сохранил ее в файле ps1. Однако, когда я пытаюсь выполнить его из powershell, он не будет запущен.

Я уже изменил настройки для запуска неподписанного кода, введя эту команду:

что он делает, это создать текстовый файл, в котором перечислены все пути к определенному файлу.
Я поместил его непосредственно под c: и назвал файл listAllPaths, то же самое как функция.

когда я ввожу следующую команду внутри Powershell:

listAllPaths термин '.пс1 не распознано как командлет, функция, выполняемая программа или файл сценария. Проверьте термин и повторите попытку.

Я пробовал несколько вещей, и я честно не знаю, как заставить это работать? Я ожидаю, что файл будет создан по заданному пути, c: в этом образец. Этот файл с именем testingPDF.txt и содержимое, являющееся сгенерированным этим.

может кто-нибудь сказать мне, что я забыл здесь.

и нет, Google не отвечает на все. Уже пробовал. Я бы не пришел и не спросил его здесь, если бы я уже не попробовал онлайн-поисковые системы.

Это типичная ошибка на многих платформах, где путь к среде не включает текущий каталог. поэтому при выполнении скрипта (команды или программы и т. д.) среда выполнения выглядит везде, кроме текущего/рабочего каталога.

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

попробуйте отредактировать сценарий, как показано ниже, и выполните, как указано выше.

Я мог бы быть вне базы здесь, но это то, что ваш скрипт определение функция, а не ее выполнение? Возможно, вам нужно "source" скрипт:

. так что теперь ваша функция" listallpaths " определена.

Если вы замените "function listallpaths" на param и избавитесь от окружающего <>, как это..

У вас будет файл сценария, который вы можете вызвать по мере необходимости.

Как упоминал Мэтт, объявив функцию, когда вы вызывали скрипт, он создавал функцию, а затем выходил. Сценарий PowerShell-это в основном функция, хранящаяся в файле (без окружающих фигурных скобок.. они подразумеваются), где сама функция будет храниться в память.


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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

add-migration: термин "add-migration" не распознается как имя командлета, функции, файла сценария или исполняемой программы. Проверьте правильность написания имени или, если включен путь, проверьте правильность пути и повторите попытку.

enter image description here

Это не совсем то, что имеет OP, но, по крайней мере, для ядра dotnet, это также может быть вызвано не установкой Microsoft.EntityFrameworkCore.Tools nuget Microsoft.EntityFrameworkCore.Tools , который используется для команд диспетчера пакетов в Visual Studio и команде линия.

ответил(а) 2017-11-18T12:17:00+03:00 3 года, 12 месяцев назад

Что я должен был сделать.

1) Инструменты → Nuget Package Manger → Настройки диспетчера пакетов

2) Вкладка "Общие"

3) Очистить все кеши NuGet

4) Перезапустить Visual Studio

ответил(а) 2017-09-03T00:47:00+03:00 4 года, 2 месяца назад

У меня была такая же проблема, и я просто закрыл консоль диспетчера пакетов, а затем перезапустил Visual Studio.

ответил(а) 2017-09-11T03:36:00+03:00 4 года, 2 месяца назад

Я подозреваю, что ваш проект по умолчанию должен быть установлен, как упоминал Кирк Ларкин в комментариях. Нажмите раскрывающийся список в проекте по умолчанию и установите его, на который когда-либо был установлен проект.

enter image description here

Также эта ссылка может помочь, если выпадающий список невыполненных проектов по умолчанию не будет заполнен. Выпадающий список Project Project Console по умолчанию для NuGet пуст

Надеюсь это поможет! Если не дайте мне знать, и я удалю ответ (я должен был использовать ответ, потому что не могу прокомментировать 50 репутации) Приветствия!

В консоли nuget проверьте, выбран ли выбранный проект по умолчанию. Задайте этот проект как проект запуска

javac не является внутренней командой / не может распознать элемент «javac» как имя командлета, функции, файла сценария или исполняемой программы.


Если вы запускаете команду cmd: javac -version, то такой команды нет, причина в том, что путь установки JDK не настроен в пути системной переменной.

Найдите переменную пути в системной переменной и полностью добавьте свой установочный каталог Java в каталог bin. Как правило, он устанавливается по умолчанию на диске C. Я выбрал установочный каталог по умолчанию: C:\Program Files\Java\jdk1.8.0_191\bin ,Перейдите в каталог установки
Давайте проверим это

ok

Интеллектуальная рекомендация


Использование Jmeter Beanshell

Использование Beanshell Что такое бобовая скорлупа Beanshell - это язык сценариев, который полностью соответствует синтаксису Java, и имеет свои собственные встроенные объекты и синтаксис Beans.

Android получить информацию о приложении (пакете) и размере кэша при использовании PackageManager

[size = medium] [b] класс PackageManger [/ b] [/ size] Описание: Получить информацию об установленных приложениях. Его можно получить с помощью метода [color = red] getPackageManager () [/ color]. Общ.


UITextView добавить текст заполнителя

UITextView - это простой и легкий в использовании метод для добавления текста заполнителя. В основном используйте drawRect: метод для рисования текста заполнителя. Создайте файл CustomPlaceholderTextV.


Разница между равным и "= mh-excerpt">

1. Разница между равным и "==" (1) Роль равенства заключается в сравнении одинакового содержимого двух независимых объектов., Другими словами, это для сравнения значений двух объектов. I1, i.

Читайте также: