Installera SCCM-agent via Powershell och Schedule Task (server)

Har letat, letat, letat, letat och letat efter bra metoder att få på SCCM-agenten på servrar.
Det dom flesta hänvisar till är att lägga detta i startupscript eller liknande. Då jag inte tycker om startupscript, framförallt inte på servrar så har jag löst det med Powershell och schedule task. Att bara köra invoke-command och exekvera ccmsetup.exe fungerar inte då BITS då inte vill vara med och lira.

Så, jag har gjort ett script som utför tre delar. Har inte snyggat till allt ännu och använder även .bat (usch och fy på mig!) 😉

1) Kopierar installationsfilerna till servern
2) Schemalägger ett jobb ”run once” för installation av agenten som körs 2 minuter efter jobbet skapats
3) Kontrollerar om agenten installerats och raderar därefter installationsmappen

Så här blev scriptet.

# Installation av SCCM-agenten

# Namnet på servern som agenten ska installeras på.
$servername = "servernamnet"
# Kopiera installationsmedia. Ändra till mappen där installationsfilerna finns. Placeras sedan i c:\autoinstall på servern.
Copy-Item "c:\media\sccm" -Recurse -destination "\\$($servername)\c$\autoinstall\"

Invoke-Command -ComputerName $servername -ScriptBlock {        

    # Formatet kan behöva ändras på vilka regionala inställningar ni har på servern.
    $scheduleDate = get-date -Format "yyyy-MM-dd"
    $scheduleTime = (get-date).AddMinutes(2).ToString("HH:mm")
    # Har skapat autoinstall.bat och innehåller ccmsetup.exe följt av dom växlar som krävs för min miljö.
    schtasks /create /tn "AutoInstallSCCM" /ru "SYSTEM" /tr c:\autoinstall\autoinstall.bat /sc once /sd $scheduleDate /st $scheduleTime
}

# För att invänta färdig installation kör vi en pause på 5 minuter. 2 minuters väntan på att jobbet ska starta och sen ytterligare 3 minuter för att installationen ska slutföras.
Start-Sleep -Seconds 300

# Kontrollerar om SCCM blivit korrekt installerat.
if (Test-Path "\\$($servername)\c$\Windows\CCM"){
    Write-Host "SCCM har blivit installerat."
}
else{
    Write-Host "SCCM har inte blivit installerat."
}
# Raderar media
Remove-Item "\\$($servername)\c$\autoinstall" -Recurse -Force

Håll till godo och skriv gärna frågor på detta som kommentar till inlägg.
När jag får tid/ork ska jag snygga till installationsdelen och ta bort .bat. 😉

En kommentar på “Installera SCCM-agent via Powershell och Schedule Task (server)

Kommentera

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.