Запустите файл jar с помощью запланированного powershell и подтвердите результат.

Я застрял в сценарии, в котором мне нужно запустить файл jar, который регулярно расшифровывает зашифрованный файл из определенного каталога на сервере Windows. Кто-нибудь может помочь в powershell, который выполняет файл jar?

Я использую следующую команду для запуска файла jar с помощью командной строки, и она отлично работает на локальной машине.

java -cp PGPDecrypt.jar pgpDecryptPackage.PGPDecrypt C:\Users\anirudgu\Desktop\abcd\TestFile.pgp C:\Users\anirudgu\Desktop\abcd\anirudguprivatekey.asc C:\Users\anirudgu\Desktop\abcd\outputfile.txt Passcode 

Эта банка принимает 4 параметра в качестве входных данных

  1. File Путь к зашифрованному файлу
  2. Путь к закрытому ключу
  3. Путь к файлу, куда нам нужно поместить вывод, т.е. расшифрованный файл
  4. Переходная фаза

Вывод в основном представляет собой строку: Файл успешно расшифрован и помещен в папку: C:\Users\anirudgu\Desktop\abcd\outputfile.txt

Может кто-нибудь предложить на стороне powershell?


person Anirudh Gupta    schedule 19.12.2019    source источник
comment
В чем проблема написать скрипт и почему не .bat (пакетный Windows) скрипт?   -  person Joakim Danielson    schedule 19.12.2019
comment
Это моя идея использования powershell. Я открыт для принятия альтернативных решений.   -  person Anirudh Gupta    schedule 19.12.2019


Ответы (1)


Это должно работать в powershell:

cmd.exe /c 'java -cp PGPDecrypt.jar pgpDecryptPackage.PGPDecrypt C:\Users\anirudgu\Desktop\abcd\TestFile.pgp C:\Users\anirudgu\Desktop\abcd\anirudguprivatekey.asc C:\Users\anirudgu\Desktop\abcd\outputfile.txt Passcode'

Аргумент '/C' выполняет сеанс cmd, а затем завершает работу.

Для создания запланированного сценария:

https://community.spiceworks.com/how_to/17736-run-powershell-scripts-from-task-scheduler

person Vish    schedule 19.12.2019
comment
Большое спасибо Виш. Я просто хотел проверить, могу ли я также хранить пути к файлам в качестве переменной, которая вычисляется во время выполнения, поскольку скрипт должен выбрать последний файл. Я пробовал это, но когда я сохраняю значения в переменной и передаю их вышеуказанной команде, это сработает? Извините за эти хромые вопросы, но нуб в powershell. - person Anirudh Gupta; 19.12.2019
comment
Не беспокойтесь о вопросах, задавайте столько, сколько хотите. Вы можете сделать это: $test_file = 'path'; $private_key = 'путь'; $ output_file = 'путь'; cmd.exe /c 'java -cp PGPDecrypt.jar pgpDecryptPackage.PGPDecrypt $test_file $private_key $output_file Пароль' Основная java-команда упакована в следующем формате: + ' + var_name + ' + - person Vish; 19.12.2019