Я удаленно выполняю некоторые скрипты для получения информации с сервера, используя инструмент Plink из putty.Проблема возникает, когда я использую файл .ps1, потому что один '?'появляется в начале, что делает первую строку неправильной, но с файлами .bat работает как нужно.
Например, я хочу напечатать содержимое файла:
GetDate.bat:
type C:/Data/DateOfCompilation.txt
А потом:
PS C:/Users/MyUser> plink -ssh <User>@<IP> -i C:\Key.ppk -m C:\Scripts\GetDate.bat
10/09/2018 14:32:02,72
Все в порядке
GetDate.ps1:
Get-Content -Path C:/Data/DateOfCompilation.txt
Выполнение:
PS C:/Users/MyUser> plink -ssh <User>@<IP> -i C:\Key.ppk -m C:\Scripts\GetDate.ps1
?Get-Content : The term '?Get-Content' is not recognized as the name of a
cmdlet, function, script file, or operable program. Check the spelling of
the name, or if a path was included, verify that the path is correct and try
again. At line:1 char:1
+ ?Get-Content -Path C:/Data/DateOfCompilation.txt
+ ~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (?Get-Content:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Также, если я добавлю больше кода, остальные строки будут работать нормально, это просто первая ошибка, с которой '?' добавлено в начале.
(Тем не менее, при локальном запуске скрипт работает нормально)
У меня есть другие сценарии PS1, гораздо более расширенные, поэтому использование только bat-файлов не лучший вариант.
Iпосмотрел документацию, другие форумы и здесь, но я ничего не могу найти.Может быть, я ничего не знаю о файлах PS1.