Я использую Windows Server 2012 R2. У меня есть файл cygwin_config, который я запускаю внутри cygwin с помощью команды excpect cygwin_config . Файл настраивает мои ssh_config и sshd_config. Есть ли способ запустить этот скрипт из моего PowerShell, чтобы мне не нужно было заходить в Cygwin для его запуска? Я пробовал несколько вещей, но безуспешно, таких как:
$file= Get-ChildItem C:\Cygwin\home\Administrator\cygwin_config | Select-Object
$cmd=Start-Process C:\Cygwin\bin\mintty.exe $file
Он попытался открыть mintty.exe, но он немедленно закрыл mintty.exe. Если больше ничего не помогает, я думаю, мне нужно будет создать пользователей, которые нужны ssh-host-config, с помощью powershell.
Я также создал файл с ожидаемым /path /to /cygwin_config и сохранил его как файл .exe. После двойного щелчка по нему появляется всплывающее сообщение об ошибке: «Windows не может получить доступ к указанному устройству, пути или файлу.Возможно, у вас нет соответствующих разрешений для доступа к ним. " Я пытался запускать приложения с правами администратора и изменил разрешения в каталоге, но для этого ничего не работает.
Мой cygwin_config:
#!/bin/expect -f
spawn ssh-host-config
set timeout 20
expect {
"Should StrictModes be used? (yes/no)" { send "no\r" }
}
set timeout 5
expect {
"new local account 'sshd'? (yes/no)" { send "yes\r" }
}
expect {
"Do you want to install sshd as a service?" {send
"yes\r";exp_continue }
"Enter the value of CYGWIN for the daemon:" { send " \r"; }
}
set timeout 5
expect {
"Do you want to use a different name? (yes/no)" { send "no\r";
exp_continue }
"Create new privileged user account" { send "yes\r";
exp_continue }
"Please enter the password" { send "pwd\r";
exp_continue }
"Reenter:" {send "pwd\r";
exp_continue }
}
[РЕДАКТИРОВАТЬ] Получил из-за ошибки всплывающих окон, изменив права доступа к файлу из свойств (дал полные права администратору). Но это все равно не будет работать, потому что приложение не может работать на моем компьютере: «Это приложение не может работать на вашем компьютере», поэтому это решение отправляется в корзину.