Aşağıda paylaşmış olduğum PowerShell script’ni “Windows PowerShell ISE” ile çalıştırabilirsiniz.
Import-Module WebAdministration
New-Item -Path “IIS:\AppPools” -Name “Sayfa1” -Type AppPool
New-Item -Path “IIS:\AppPools” -Name “Sayfa2” -Type AppPool
New-Item -Path “IIS:\AppPools” -Name “Sayfa3” -Type AppPool
# Kullanılacak .NET hangi sürüm olacak.
# Geçerli seçenekler “v2.0” ve “v4.0”. IIS sıklıkla bunları “.NET 4.5” olarak sunar, ancak bu hala
# .NET 4.0 çalışma zamanını kullanır, dolayısıyla “v4.0” ı kullanılabilir
Set-ItemProperty -Path “IIS:\AppPools\Sayfa1” -name “managedRuntimeVersion” -value “v4.0”
Set-ItemProperty -Path “IIS:\AppPools\Sayfa2” -name “managedRuntimeVersion” -value “v4.0”
Set-ItemProperty -Path “IIS:\AppPools\Sayfa3” -name “managedRuntimeVersion” -value “v4.0”
Uygulamaların 64 bitlik makinelerde, 32 bitlik bir işlem olarak çalışması gerekirse
# Bunu true olarak ayarlamamız gerekiyor. Bu genellikle uygulamamızın bağımlı olması durumunda önemlidir.
Set-ItemProperty -Path “IIS:\AppPools\Sayfa1” -name “enable32BitAppOnWin64” -value $false
Set-ItemProperty -Path “IIS:\AppPools\Sayfa2” -name “enable32BitAppOnWin64” -value $false
Set-ItemProperty -Path “IIS:\AppPools\Sayfa3” -name “enable32BitAppOnWin64” -value $false
# Bir istek yapıldığında uygulama havuzunu otomatik olarak başlatır. Eğer sen
# Bunu false olarak ayarlarsan, uygulama havuzunu manuel olarak başlatman gerekecek veya
# 503 hatası alacaksın.
Set-ItemProperty -Path “IIS:\AppPools\Sayfa1” -name “autoStart” -value $true
Set-ItemProperty -Path “IIS:\AppPools\Sayfa2” -name “autoStart” -value $true
Set-ItemProperty -Path “IIS:\AppPools\Sayfa3” -name “autoStart” -value $true
# Uygulama havuzu hangi hesapta çalışıyor?
# “ApplicationPoolIdentity” = en iyi
# “LocalSysten” = kötü fikir!
# “NetworkService” = çok kötü değil
# “SpecificUser” = kullanıcı özel haklara ihtiyaç duyarsa kullanışlıdır. Diğer örneklere bakın
Set-ItemProperty -Path “IIS:\AppPools\Sayfa1” -name “processModel” -value @{identitytype=”ApplicationPoolIdentity”}
Set-ItemProperty -Path “IIS:\AppPools\Sayfa2” -name “processModel” -value @{identitytype=”ApplicationPoolIdentity”}
Set-ItemProperty -Path “IIS:\AppPools\Sayfa3” “processModel” -value @{identitytype=”ApplicationPoolIdentity”}
# 0 = Integrated
# 1 = Classic
Set-ItemProperty -Path “IIS:\AppPools\Sayfa1” -name “managedPipelineMode” -value 1
Set-ItemProperty -Path “IIS:\AppPools\Sayfa2” -name “managedPipelineMode” -value 1
Set-ItemProperty -Path “IIS:\AppPools\Sayfa3” -name “managedPipelineMode” -value 1
if ([Environment]::OSVersion.Version -ge (new-object ‘Version’ 6,2)) {
Set-ItemProperty -Path “IIS:\AppPools\Sayfa1” -name “startMode” -value “OnDemand”
Set-ItemProperty -Path “IIS:\AppPools\Sayfa2” -name “startMode” -value “OnDemand”
Set-ItemProperty -Path “IIS:\AppPools\Sayfa3” -name “startMode” -value “OnDemand”
}