In dieser Anleitung beschreibe ich kurz, wie wir Dateien mit Intune auf verschiedene Rechner kopieren können. So können wir z.B. Desktopverknüpfungen oder andere Dateien auf die einzelnen Clients verteilen. So ersparen wir uns die Arbeit, die Dateien auf dem manuellen Weg auf die Clients zu bringen.
Tool herunterladen
Im ersten Schritt brauchen wir das Intune-Content-Prep Tool von Microsoft. Dieses können wir hier (https://github.com/microsoft/Microsoft-Win32-Content-Prep-Tool/tree/master) herunterladen.
Mit diesem Tool wird eine intunewin-Datei generiert, welche wir dann in das Paket hochladen. In dieser Datei befinden sich dann (im besten Fall) alle benötigten Dateien, die für die Installation benötigt werden.
Skripte erstellen
In unserem Beispiel werden wir eine Verknüpfung (die wir vorher erstellt haben) per Intune auf die Clients verteilen. Für diese Durchführung brauchen wir im ersten Schritt ein Skript, welches die Installation an sich durchführt und ein Skript, welches überprüft, ob die Datei ordnungsgemäß installiert wurde.
Zuerst erstellen wir jetzt das Installationsskript. Dieses trägt in diesem Beispiel den Namen install.ps1
$PackageName = "Name"
$Version = 1
$shortcut_exists = $false
Copy-Item -Path '.\verknüpfung.url' -Destination "C:\Users\Public\Desktop\" -Force
while($shortcut_exists -eq $false)
{
if(-not (Test-Path "C:\Users\Public"))
{
New-Item -Path "C:\Users\" -ItemType Directory -Name "Public" -Force
}
if(-not (Test-Path "C:\Users\Public\Desktop"))
{
New-Item -Path "C:\Users\Public\" -ItemType Directory -Name "Desktop" -Force
}
if(Test-Path -Path ".\verknüpfung.url")
{
Copy-Item -Path ".\verknüpfung.url" -Destination "C:\Users\Public\Desktop" -Force
}
if(Test-Path "C:\Users\Public\Desktop\verknüpfung.url")
{
$shortcut_exists = $true
New-Item -Path "C:\Program Files\Validation" -ItemType Directory -Force
New-Item -Path "C:\Program Files\Validation\$PackageName" -ItemType File -Force -Value $Version
}
}
Skript-Erläuterung
Das Skript überprüft, ob es das Verzeichnis C:\Users\Public\Desktop
gibt. Falls es dieses Verzeichnis nicht gibt, wird dieses erstellt. Im Anschluss wird die Desktopverknüpfung aus dem Container extrahiert, und in das Verzeichnis kopiert. Zum Schluss wird noch ein Validation Verzeichnis erstellt, falls dieses noch nicht vorhanden ist. Dieses enthält die Versionsnummer, um spätere Aktualisierungen zu vereinfachen.
Im nächsten Schritt erstellen wir das Skript check.ps1. Dieses überprüft, ob unser Programm ordnungsgemäß an allen Rechnern installiert wurde.
$PackageName = "Name"
$Version = "1"
$ProgramVersion_current = Get-Content -Path "C:\Program Files\Validation\$PackageName"
if($ProgramVersion_current -eq $Version){
Write-Output("Programm vorhanden!")
exit 0
} else {
exit 1
}
Skript-Erläuterung
In diesem Skript wird nur überprüft, ob die Versionsnummer in dem Verzeichnis identisch mit der Versionsnummer des Skriptes ist. Je nachdem wird true oder false zurückgegeben.
Intune-Paket generieren
Um das Intune-Paket jetzt zu generieren, öffnen wir ein CMD-Fenster und navigieren in das Verzeichnis, in dem das zuvor heruntergeladene Prep-Tool befindet. Dort gibt es eine Datei mit dem Namen IntuneWinAppUtil.exe. Diese starten wir einmal mit dem folgenden Befehl:
.\IntuneWinAppUtil.exe
Wir werden dann nach und nach ein paar Informationen gefragt. Im ersten Schritt sollen wir den Quellordner angeben. Diesen geben wir einmal vollständig an. Im nächsten Schritt geben wir die Installationsdatei an. Das wäre in unserem Fall die .\install.ps1
Im nächsten Schritt müssen wir das Ausgabeverzeichnis angeben. In dieses Verzeichnis wird dann unsere Intune-Paketdatei exportiert. Und die letzte Frage verneinen wir einfach mit einem N.
Jetzt können wir diese Datei nehmen und eine App in Intune bauen.
CMD-Skripte
Um den ganzen Verteilungsprozess etwas zu vereinfachen, können wir hier auch Batch-Skripte (CMD) verwenden. Diese sind etwas schlanker und weniger fehleranfälliger für Fehler. Für den Kopiervorgang erstellen wir dann eine .cmd
Datei und kopieren den folgenden Inhalt ein:
copy /Y .\[Filename] [Destination]
# Example
copy /Y ".\Test File.txt" C:\Users\Public\Desktop\
Im Anschluss verpacken wir dann einmal wieder das Intune-Paket über das Microsoft Tool. Danach passen wir dann die Erkennungsregel wieder entsprechend an. Wenn das so weit passt, können wir die App veröffentlichen.