27

I want create a site by command line using appcmd.

How can I associate a specific application pool to site?

To create a site, I write in this way:

appcmd add site /name:"prova" bindings:http://localhost:8080 /physicalPath:c:\sites\prova
Uwe Keim
  • 39,551
  • 56
  • 175
  • 291
JAEP
  • 363
  • 2
  • 5
  • 12
  • Command need one more forward slash before `bindings` like this `appcmd add site /name:"prova" /bindings:http://localhost:8080 /physicalPath:c:\sites\prova` – Abdul Rahman Kayali Jul 26 '20 at 19:40

3 Answers3

46

You can do this:

APPCMD.exe set app "prova/" /applicationPool:"YOUR_APP_POOL_NAME_HERE"

Note the trailing slash appended to prova, that's important.

For example if I wish to set the application pool for prova to the DefaultAppPool I would issue the following command:

APPCMD.exe set app "prova/" /applicationPool:"DefaultAppPool"

Picking up from Chris's comment below, if you have an existing application in your site, say /mybloggy and you wish to change application pool it belongs to then you'd issue the following:

APPCMD.exe set app "prova/mybloggy" /applicationPool:"DefaultAppPool"

Kev
  • 118,037
  • 53
  • 300
  • 385
  • I have apps under ***Default Web Site*** – Kiquenet Dec 28 '17 at 15:11
  • The syntax for the app name is set app "/". This answer threw me off when I was trying to set the app pool for an application in my site. – Chris Mar 26 '18 at 15:02
  • 1
    @Chris - yes that would be the case where you already have an application under the site root, say `/mybloggy`. The example given sets the site root (`/`) application's app pool. I've updated my answer to make this clearer. – Kev Mar 27 '18 at 13:38
  • Can you help to understand How to start the apps under default web site ?? I am able to start the default website in some cases I need to start the web application under the site manually so need to automate that using appcmd.exeto start the same. – Prakash Jan 10 '20 at 08:28
  • Good job done by @Kev! – Majedur Oct 10 '21 at 05:54
5

Alternative syntax:

APPCMD.exe set site /site.name:"Site name" /[path='/'].applicationPool:"App Pool Name"

Found in Windows Server docs: https://technet.microsoft.com/en-us/library/cc732992(v=ws.10).aspx

Slava
  • 2,887
  • 3
  • 30
  • 39
0

Although the OP was looking to assign the app pool within the "add site" command, I couldn't find a way to include it with the original "add site" command. I got it working using "add site" followed by "set site" using syntax by Kev above.

On the other hand, if you ever need to add an "application" under that "site", you can specify the app pool when you use the "add app" command with the applicationPool argument as here:

APPCMD add app /site.name:"prova" /path:/App1 /physicalPath:c:\sites\prova\App1 /applicationPool:"provaAppPool"

p.s. You may need to prefix APPCMD with %systemroot%\system32\inetsrv\ and call

%systemroot%\system32\inetsrv\APPCMD /site.name:"prova"...
Jeff Mergler
  • 1,384
  • 20
  • 27