Forum Discussion
emreozanmemis
Mar 15, 2022Steel Contributor
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