Blog

PowerShell ile SCCM için PS Betik Uygulama Hazırlama

İ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.

Hüseyin Çağlar

Emekli sistem yöeticisi :-)

İlgili Makaleler

2 Yorum

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu