Аргумент 'install-sshed.ps1' для параметра -File не существует |PowerShell - PullRequest
1 голос
/ 24 марта 2019

Я добавляю ключ в Windows 7 x64, используя powershell

До сих пор я пробовал приведенную ниже команду, используя powershell

powershell -executionpolicy bypass -file install-sshed.ps1

Я получил ошибку, подобную этой:

Аргумент 'install-sshed.ps1' для параметра -File не существует.Укажите путь к существующему файлу '.ps1' в качестве аргумента параметра -File

Что я делаю не так?

Ответы [ 3 ]

2 голосов
/ 24 марта 2019

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

powershell -executionpolicy bypass -file "c:\scripts\install-sshed.ps1"

Либо перейдите в каталог, в котором файл *.ps1 расположен первым:

cd c:\scripts
powershell -executionpolicy bypass -file install-sshed.ps1
1 голос
/ 24 марта 2019

В дополнение к ответу выше, я хотел бы добавить, что вы также можете использовать относительные пути.

Например, для запуска из текущего каталога

powershell -execution policy unrestricted -file ".\test.ps1"

Или запустить из вложенной папки:

powershell -execution policy unrestricted -file ".\config\test.ps1"

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

0 голосов
/ 20 июля 2019

Дополнительно к другим ответам.

Возможно, вы скачали OpenSSH-Win32_Symbols.zip или OpenSSH-Win64_Symbols.zip - это НЕ обязательные двоичные файлы.Вы можете попытаться загрузить OpenSSH-Win32.zip или OpenSSH-Win64.zip версию соответственно.

Также было предложено, что вы должны cd в C:\Program Files\OpenSSH, но архив находится в подпапке, и мне пришлось извлечь его в родительский OpenSSHпапка.

Дополнительно: распространенная проблема с разрешениями, описанными здесь asterikx, может оказаться полезным переустановить openssh, выполнив следующие действия, если что-то не работает должным образом (при условии, что загруженный архив находится в D:\Downlaods):

powershell.exe -ExecutionPolicy Bypass -File 'C:\Program Files\OpenSSH\uninstall-sshd.ps1'
del 'C:\Program Files\OpenSSH\'
Expand-Archive D:\Downloads\OpenSSH-Win64.zip -DestinationPath 'C:\Program Files\OpenSSH'
copy 'C:\Program Files\OpenSSH\OpenSSH-Win64\*' 'C:\Program Files\OpenSSH\'
del 'C:\Program Files\OpenSSH\OpenSSH-Win64\'
powershell.exe -ExecutionPolicy Bypass -File 'C:\Program Files\OpenSSH\install-sshd.ps1'
powershell.exe -ExecutionPolicy Bypass -File 'C:\Program Files\OpenSSH\install-sshd.ps1'
powershell.exe -ExecutionPolicy Bypass -File 'C:\Program Files\OpenSSH\FixHostFilePermissions.ps1'
powershell.exe -ExecutionPolicy Bypass -File 'C:\Program Files\OpenSSH\FixUserFilePermissions.ps1'
Set-Service sshd -StartupType Automatic
Set-Service ssh-agent -StartupType Automatic
...