как запустить / остановить пул приложений в IIS 6.0 из Java удаленно

#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

и здесь: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/9041b0a5-c314-46d9-8f56-01506687f357.mspx?mfr=true

Или просто Google «iis wmi».

Сначала найдите нужный вам API и найдите способ написать JScript или VBScript, который делает то, что вам нужно.

Тогда у вас есть 2 способа.

  1. Просто выполните скрипт, который вы только что сделали из Java, используя Runtime.exec()
  2. Используйте один из пакетов совместимости, таких как JaWin, JIntegra или JInterop (или, возможно, другие), чтобы вызвать тот же код из java.