Czy jest możliwe ponowne przetworzenie puli aplikacji IIS7 z wiersza polecenia na innym komputerze?
Znalazłem APPCMD ( appcmd recycle apppool my-app-pool
), ale działa tylko na hoście, na którym jest uruchomiony, AFAICT.
Słyszałem pogłoski, że może być sposób, aby to zrobić za pomocą Powershell, ale nic o tym nie wiem i najwyraźniej nie jestem zbyt dobry w googlowaniu.
Używam Vista / Server 2008, jeśli to ma znaczenie.
EDYCJA: Znalazłem coś o nazwie WinRM, o którym ktoś twierdzi, że może sam uruchomić APPCMD, ale nie jestem jeszcze pewien, jak to zrobić.
Psexec \\computer c:\windows\system32\inetsrv\appcmd.exe" recycle apppool AppPoolName
Aby to zrobić zdalnie z PowerShell, musisz albo użyć programu PowerShell, albo WMI.
W rzeczywistości jest to bardzo proste za pomocą polecenia cmdlet PowerShell Invoke-WMIMethod, ale musisz określić
-Authentication PacketPrivacy
... a jeśli musisz podać inne poświadczenia, możesz to zrobić za pomocą parametru-Credential (Get-Credential)
... oto przykład:Napisałem fajną funkcję do podsumowania tego wszystkiego: http://poshcode.org/2466
źródło
Jeśli wybierasz wiersz poleceń, PsExec wydaje się rozwiązaniem, ale w przypadku zadań o kluczowym znaczeniu nie poleciłbym tego. Powód jest następujący: PsExec ma problemy z wieloma uruchomieniami.
Wolę używać API do takich celów.
źródło
Podobnie do odpowiedzi @ Jeffa, z Powershell zdalnie:
Enter-PSSession -ComputerName <your server> -Credential <username, or (Get-Credential)>
Następnie w sesji interaktywnej, a następnie:
appcmd recycle apppool my-app-pool
aby ponownie uruchomić pulę aplikacji.
źródło
Odtwórz AppPool w PowerShell
W tym przykładzie: MSExchangeSyncAppPool
źródło