#java #windows #iis #iis-6
#java #Windows #iis #iis-6
Вопрос:
Могу ли я запускать и останавливать пулы приложений IIS 6.0 на одном компьютере из кода Java, запущенного на другом компьютере? Если да, то как?
Комментарии:
1. работает ли java в IIS? мне любопытно. если да, то как?
Ответ №1:
Используйте средства Java для выполнения другой программы и используйте инструмент командной строки, такой как
appcmd stop apppool /apppool.nam
appcmd start apppool /apppool.nam
(см http://technet.microsoft.com/en-us/library/cc732742 (WS.10).aspx)
Комментарии:
1. Спасибо! Я предполагаю, что с IIS6.0 командная строка будет выглядеть примерно так: psexec \ my-machine -u Пароль администратора -p C:WINDOWSsystem32cscript.exe C:WINDOWSsystem32iisapp.vbs /a MyAppPool /r
2. Хм … передача пароля в командной строке не очень приятна. Возможно, потребуется вывести это в stdin процесса, я думаю, psexec может принимать пароль в интерактивном режиме.
Ответ №2:
Я полагаю, вы можете сделать это с помощью WMI. Пожалуйста, взгляните http://msdn.microsoft.com/en-us/library/ms525309 (v= против 90).aspx
Или просто Google «iis wmi».
Сначала найдите нужный вам API и найдите способ написать JScript или VBScript, который делает то, что вам нужно.
Тогда у вас есть 2 способа.
- Просто выполните скрипт, который вы только что сделали из Java, используя
Runtime.exec()
- Используйте один из пакетов совместимости, таких как JaWin, JIntegra или JInterop (или, возможно, другие), чтобы вызвать тот же код из java.