Каков правильный метод определения того, установлена ли произвольная версия Apache Tomcat на данном сервере Windows, который, как мы можем предположить, является Windows Server 2012 R2 или выше, с использованием PowerShell 5 или выше?
До сих пор я придумал использовать Get-Service
командлет, например:
Get-Service | where-object {$_.name -like 'Tomcat?'}
Это вернет такой результат:
Status Name DisplayName
------ ---- -----------
Running Tomcat8 Apache Tomcat 8.5 Tomcat8
И это можно сохранить в переменной или отправить в if
оператор, чтобы определить, пуст он или нет.
Возможно, стоит использовать подстановочный знак «Tomcat» в фильтре, поскольку он, вероятно, перестанет работать с Tomcat 10, если они не решат назвать его TomcatX.