Forum Discussion

emreozanmemis's avatar
emreozanmemis
Steel Contributor
Mar 15, 2022

IIS | APPCMD.exe nedir? (tr-TR)

AppCmd.exe, IIS 10.0 ve üstünde bulunan web sitelerini yönetmek için kullanılan komut satırı uygulama aracıdır. AppCmd, web sunucunuzu GUI kullanmadan kolayca kontrol etmenizi yönetmenizi kolaylaştıran komutlar bütünüdür.

 

AppCmd ​​başlıca kabiliyetleri aşağıdaki gibidir.

 

Siteler, uygulamalar, uygulama havuzları ve sanal dizinler oluşturup yönetebilirsiniz.
Siteleri, site havuzlarının işlemlerini başlatıp ve durdurabilirsiniz.
Aktif işlemleri listeleyin ve anlık yürütülen işlemleri inceleyebilirsiniz.
IIS yapılandırma ayarlarınızı import yada export edebilirsiniz.

 

Appcmd.exe çalıştırmak için sisteminizde IIS 10.0 yüklü olması gerekmektedir. Ek bilgi olarak belirtmek isterim. IIS 7.0 ve sonrası web serverlarda appcmd.exe komutunu kullanabilirsiniz. Appcmd.exe komutunu çalıştırmak için CMD komut satırınızı yönetici olarak çalıştırınız ve "%windir%\system32\inetsrv\" dizinine gidiniz. Appcmd.exe yazıp enter basınız.

 

C:\windows\System32\inetsrv>appcmd.exe
General purpose IIS command line administration tool.
 
APPCMD (command) (object-type) <identifier> </parameter1:value1 ...>
 
Supported object types:
 
  SITE      Administration of virtual sites
  APP       Administration of applications
  VDIR      Administration of virtual directories
  APPPOOL   Administration of application pools
  CONFIG    Administration of general configuration sections
  WP        Administration of worker processes
  REQUEST   Administration of HTTP requests
  MODULE    Administration of server modules
  BACKUP    Administration of server configuration backups
  TRACE     Working with failed request trace logs
  BINDING   Object for working with SSL bindings
 
(To list commands supported by each object use /?, e.g. 'appcmd.exe site /?')
 
General parameters:
 
/?               Display context-sensitive help message.
 
/text<:value>    Generate output in text format (default).
                 /text:* shows all object properties in detail view.
                 /text:<attribute> shows the value of the specified
                 attribute for each object.
/xml             Generate output in XML format.
                 Use this to produce output that can be sent to another
                 command running in /in mode.
/in or -         Read and operate on XML input from standard input.
                 Use this to operate on input produced by another
                 command running in /xml mode.
/config<:*>      Show configuration for displayed objects.
                 /config:* also includes inherited configuration.
/metadata        Show configuration metadata when displaying configuration.
 
/commit          Set config path where configuration changes are saved.
                 Can specify either a specific configuration path, "site",
                 "app", "parent", or "url" to save to the appropriate portion
                 of the path being edited by the command, "apphost", "webroot",
                 or "machine" for the corresponding configuration level.
/apphostconfig   Specify an alternate applicationHost.config file to edit.
/debug           Show debugging information for command execution.
 
Use "!" to escape parameters that have same names as the general parameters,
like "/!debug:value" to set a config property named "debug".
 
C:\windows\System32\inetsrv>

 

Appcmd komutu kullanımı sırasında parametre yada objelerle çalışırken yardım almak için tüm cmd komutlarında olduğu gibi appcmd.exe /? Yapmanız yeterli olacaktır.

 

Örnek olarak en çok kullanılan appcmd site komutu ile başlayalım. appcmd site /? yaparak site komutu ile neler yapabilriz bakalım.

 

C:\windows\System32\inetsrv>appcmd site /?
Administration of virtual sites
 
APPCMD (command) SITE <identifier> <-parameter1:value1 ...>
 
Supported commands:
 
  list      List virtual sites
  set       Configure virtual site
  add       Add new virtual site
  delete    Delete virtual site
  start     Start virtual site
  stop      Stop virtual site
 
(To get help for each command use /?, e.g. 'appcmd.exe add site /?'.)
 
C:\windows\System32\inetsrv>

 

Örneğimizi biraz dah geliştirip IIS10.0 üzerinde bulunan web sitelerimizin listesini alalım. appcmd list site komutu ile kontrol edelim.

 

C:\windows\System32\inetsrv>appcmd list site
SITE "Default Web Site" (id:1,bindings:http/*:80:,state:Started)
SITE "Reporter" (id:2,bindings:https/:1239:,state:Started)
SITE "ozan site" (id:7,bindings:http/*:80:ozantest.com,state:Unknown)
 
C:\windows\System32\inetsrv>

 

3 adet web sitesi çalışmakta olduğunu görüntülüyorum. Web serverim üzerinde.

 

Yeni bir tane site eklemek istediğimizde appcmd add site komutu ile bu işlemi gerçekleştirebilirsiniz. Ben bindings ve path yapılandırmasınıda bu komutuma ekleyeceğim sizlerinde bu şekilde yapmanızı tavsiye ederim. GUI üzerinde daha sonra hata almamanız için path ve bandings ayarlarınızı yapılandırmanız önemlidir.

 

C:\windows\System32\inetsrv>AppCmd add site /name:ozan /id:18 /bindings:http/*:81: /physicalPath:C:\ozan
SITE object "ozan" added
APP object "ozan/" added
VDIR object "ozan/" added
 
C:\windows\System32\inetsrv>

 

List komutu ile yeni web sitemi tekrar kontrol ediyorum.

 

C:\windows\System32\inetsrv>appcmd list site
SITE "Default Web Site" (id:1,bindings:http/*:80:,state:Started)
SITE "VeeamReporter" (id:2,bindings:https/:1239:,state:Started)
SITE "ozan site" (id:7,bindings:http/*:80:ozantest.com,state:Unknown)
SITE "ozan" (id:18,bindings:http/*:81:,state:Started)
 
C:\windows\System32\inetsrv>

 

En son satırda eklediğimiz yeni web sitesini görebilirsiniz.

Listeleme kapsamında çalışan durmuş olan yada bilinmeyen web uygulamalarını listeleyebilirsiniz.

 

C:\windows\System32\inetsrv>appcmd list sites /state:started
SITE "Default Web Site" (id:1,bindings:http/*:80:,state:Started)
SITE "VeeamReporter" (id:2,bindings:https/:1239:,state:Started)
SITE "ozan" (id:18,bindings:http/*:81:,state:Started)
 
C:\windows\System32\inetsrv>appcmd list sites /state:stopped
 
C:\windows\System32\inetsrv>appcmd list sites /state:unknown
SITE "ozan site" (id:7,bindings:http/*:80:ozantest.com,state:Unknown)
 
C:\windows\System32\inetsrv>

 

Bir web sitenizin config görüntülemek için /config parametresini kullanabilrisiniz.

 

C:\windows\System32\inetsrv>appcmd list sites "Default Web Site" /config
<site name="Default Web Site" id="1">
  <bindings>
    <binding protocol="http" bindingInformation="*:80:" />
  </bindings>
  <limits />
  <logFile>
    <customFields>
    </customFields>
  </logFile>
  <traceFailedRequestsLogging />
  <hsts />
  <applicationDefaults />
  <virtualDirectoryDefaults />
  <ftpServer>
    <connections />
    <security>
      <dataChannelSecurity />
      <commandFiltering>
      </commandFiltering>
      <ssl />
      <sslClientCertificates />
      <authentication>
        <anonymousAuthentication />
        <basicAuthentication />
        <clientCertAuthentication />
        <customAuthentication>
          <providers>
          </providers>
        </customAuthentication>
      </authentication>
      <customAuthorization>
        <provider />
      </customAuthorization>
    </security>
    <customFeatures>
      <providers>
      </providers>
    </customFeatures>
    <messages />
    <fileHandling />
    <firewallSupport />
    <userIsolation>
      <activeDirectory />
    </userIsolation>
    <directoryBrowse />
    <logFile />
  </ftpServer>
  <application path="/">
    <virtualDirectoryDefaults />
    <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot" />
  </application>
</site>
 
C:\windows\System32\inetsrv>
No RepliesBe the first to reply

Resources