İlk yazıda uygulama ve paket hazırlamak için genel bilgileri paylaşmıştık. Daha sonra MSI, EXE ve CMD dosyaları kullanarak birer uygulama hazırlamıştık, bu yazıda da bir PS Betik kullanarak uygulama hazırlayacağız.
Bu örnek ile basit bir betik hazırlayalım, c:\ sürücüsünde “Temp” isminde klasör oluşturalım. İçerisine de, bir metin dosya ile not düşelim.
“PS_Betik_001.ps1″ içeriği:
##c:\ içerisinde "Temp" isimli klasör oluşturma##
# Betik baslangic
if (test-path c:\temp){
add-content -path "c:\temp\klasor.txt" -value "Klasor var." -encoding UTF8 -nonewline
Write-Host "Installed"
exit 0
} ELSE {
new-item -path c:\ -name "Temp" -type Directory
add-content -path "c:\temp\klasor.txt" -value "Klasor olusturuldu." -encoding UTF8 -nonewline
Write-Host "Installed" exit 0
}
# Betik sonu
Değişkenleri ekleyelim:
$uygulama=”PS Betik 0001″
$adm_Aciklama=”C:\temp klasoru olusturma “
$bilgi=””
$betik=”PS_Betik_001.ps1″
$adres=”\\sunucu_adiniz\Deployment\Betikler\c_Temp_klasoru\”
$simge=”\\sunucu_adiniz\Deployment\Simgeler\Firma_Logo.png”
$firma=”Firmanız”
$surum=”0.1″
$yukle=’Powershell.exe -ExecutionPolicy Bypass -noprofile -file ‘+$betik’
$kaldir=”
$EstimatedRuntimeMins=10
$MaximumRuntimeMins=15
$yerel_aciklama=”C:\temp klasoru, yoksa olusturulacak.”
$kural = ‘New-CMDetectionClauseFile -Path “C:\Temp” -FileName “klasor.txt” -Existence’
# kural, c:\temp klasörü içerisinde “klasor.txt” isimli dosya var mı kontrolü.
$UserInteractionMode=”Hidden” ### [Normal | Minimized | Maximized | Hidden]#
$LogonRequirementType=”WhetherOrNotUserLoggedOn” ### [ OnlyWhenUserLoggedOn | WhereOrNotUserLoggedOn | OnlyWhenNoUserLoggedOn ]#
$InstallationBehaviorType=”InstallForSystemIfResourceIsDeviceOtherwiseInstallForUser” ### [ InstallForUser | InstallForSystem | InstallForSystemIfResourceIsDeviceOtherwiseInstallForUser ]#
$DeployAction=”Install” ### [ Install | Uninstall ]#
$DeployPurpose=”Required” ### [ Available | Required ]#
$UserNotification=”DisplaySoftwareCenterOnly” ### [ DisplayAll | DisplaySoftwareCenterOnly | HideAll ]
Birinci aşama:
New-CMApplication -Name $uygulama -Description $adm_Aciklama -Publisher $firma -SoftwareVersion $surum -IconLocationFile $simge -AutoInstall $true -LocalizedDescription $yerel_aciklama
İkinci aşama:
Add-CMScriptDeploymentType -ApplicationName $uygulama -DeploymentTypeName $uygulama -InstallCommand $yukle -UninstallCommand $kaldir -AddDetectionClause $kural -ContentLocation $adres -InstallationBehaviorType $InstallationBehaviorType -UserInteractionMode $UserInteractionMode -EstimatedRuntimeMins $EstimatedRuntimeMins -MaximumRuntimeMins $MaximumRuntimeMins -LogonRequirementType $LogonRequirementType -Comment $adm_aciklama
Üçüncü aşama:
Start-CMContentDistribution -ApplicationName $uygulama -DistributionPointName "sunucu_adiniz.etkialani.com.tr"
Son aşama:
New-CMApplicationDeployment -ApplicationName $uygulama -CollectionName "Test_Kurulum" -DeployAction $DeployAction -DeployPurpose $DeployPurpose -UserNotification $UserNotification
İhtiyaç duyabileceğiniz ek komutları ilk yazıda bulabilirsiniz.
Buraya kadar olan yazılarda, hep Uygulama hazırlama örnekleri vermeye çalıştık. Bir sonraki yazıda, bir adet Paket hazırlayacağız.
İyi çalışmalar.