PowerShell ile IIS Application Pool Yaratma Script

Share

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”
}

 

(Visited 97 times, 1 visits today)