AppCmd fu – inleiding en voorbeelden

 

 

AppCmd in combinatie met WinRM is de IIS beheerders swiss-army knife

AppCmd.exe is een command line tool voor het beheren van IIS 7+ (IIS 7, 7.5 end 8.0). Het maakt alle belangrijke servermanagement functionaliteit beschikbaar, via een set intuïtieve managementobjecten die gemanipuleerd (gewijzigd, aangepast) kunnen worden via de cmd.exe commandline of via scripts (bijvoorbeeld PowerShell).

AppCmd

AppCmd maakt het beheren van een server zonder grafische interface, zoals Windows Server 2008 Core Edition, mogelijk, zonder het schrijven van eigen code.

Een inleiding en overzicht van (de mogelijkheden van) AppCmd staat hier. Enkele van de beheertaken die je kunt uitvoeren zijn:

  • Aanmaken en configureren van sites, applicaties, applicatiepools en virtuele directories
  • Starten en stoppen van sites, en recyclen van applicatiepools
  • Weergeven draaiende worker processen en weergeven huidige draaiende requests
  • Zoeken, manipuleren (wijzigen/aanpassen), exporteren en importeren van IIS en ASP.NET configuraties

AppCmd usage/syntaxis AppCmd (command) (object-type) <identifier> </parameter1:value1 …>

Handige AppCmd.exe opdrachten (commando’s):

Opvragen websitegegevens

AppCmd.exe list site "Default Web Site"

Opvragen websitegegevens met parameters

Of aan de hand van een parameter (welke sites stop staan, en geen serverAutoStart ingesteld hebben staan):

AppCmd.exe list sites /state:Stopped
AppCmd.exe list sites /serverAutoStart:false /state:Stopped

Stop en start een website

AppCmd.exe stop site "websitenaam"
AppCmd.exe start site "websitenaam"

Stop, start en recycle een applicatiepool

start met, of zonder autoStart

AppCmd.exe stop AppPool "AppPool_naam"
AppCmd.exe start AppPool "AppPool_naam"
AppCmd.exe start AppPool "AppPool_naam" /autoStart:true
AppCmd.exe recycle AppPool "AppPool_naam"

Starten alle gestopte applicatie pools (AppPool’s)

AppCmd list AppPools /state:stopped /xml | AppCmd start AppPool /in

Of

AppCmd list AppPool /state:stopped /xml | AppCmd start AppPool /in

Of, met Autostart

AppCmd list AppPool /state:stopped /autostart:true /xml | AppCmd start AppPool /in

De uitvoer van list AppPools /state:stopped wordt opgeslagen in XML, en gepiped naar het AppCmd start-commando dat dit inleest met /in.

ManagedPipelineMode

Stel alle AppPools in op Integrated ManagedPipelineMode

AppCmd list AppPools /xml | AppCmd set AppPool -managedpipelinemode:Integrated /in

PHP/Fastcgi configuratiwijziging

Maak een wijziging in de PHP/Fastcgi configuratie:

AppCmd.exe set config -section:system.webServer/fastCgi
 /+"[fullPath='c:\\php5\\php-cgi.exe'].environmentVariables.
 [name='PHP_FCGI_MAX_REQUESTS',value='10000']" /commit:apphost

Opvragen gebruikersnaam en wachtwoord AppPool

AppPool username and password
Gebruikersnaam en wachtwoord van een AppPool opvragen:

AppCmd list AppPool AppPool_naam /text:processmodel.username
AppCmd list AppPool AppPool_naam /text:processmodel.password

Website aanmaken met AppCmd

Appcmd add site /name:"site1.com" /id:821398 /physicalPath:"c:\\Inetpub\\wwwroot\\site1"
 /limits.maxconnections:1000 /serverAutostart:true

In combinatie met Windows Remote Management (WinRM) zijn deze commando’s ook op externe webservers uit te voeren. Ideaal voor het beheer op een centraal punt

HTH :)