Archive

Category Archives for "Softwareverteilung"

Ziel der Softwareverteilung bzw. Softwarepaketierung ist es, Softwareinstallationen und Updates zu automatisieren, um diese auf mehreren Computern im Unternehmen gleichzeitig ausrollen zu können. So wird nicht nur Zeit während der Installation gespart, sondern auch sichergestellt, dass eine Software auf jedem Computer mit den gleichen Einstellungen installiert wird.

Funktionsweise von Softwareverteilung

Ein Softwarepaket enthält in der Regel die automatische Installation, Reparatur und Deinstallation, sowie gegebenfalls benutzerspezifische Einstellungen. Um Installationsroutinen ohne Benutzeraktionen durchführen zu können, bieten die meisten Softwarehersteller entsprechende Aufrufparameter.

Umgebungen für Softwareverteilung sind beispielsweise der Microsoft SCCM oder Matrix42 Empirum.

Netzwerkadapter umbenennen – VB Script

Computer werden in Firmen und Unternehmen oft mit dem Microsoft SCCM oder Matrix42 Empirum installiert. In manchen Anwendungsfällen ist es ein Muss, dass die Netzwerkadapter den selben Namen haben. Zum einen kann ein “Schönheitsfehler” behoben werden, zum anderen ist es zur Übersichtlichkeit. Wenn man den Adapter zum Beispiel “INTERNAL” und “EXTERNAL” benennt, weiß man sofort mit welchem Netzwerk man verbunden ist. Diese Netzwerkadapter umbenennen ist kein Hexenwerk. Das realisieren wir mit einem VB Script, welches in die Installationsroutine eingebaut wird.

netzwerkadapter umbenennen vb script

Fotocitizen / Pixabay

 

Netzwerkadapter umbenennen – VB Script (VBS)

Um nun die Netzwerkadapter wie LAN Apapter, WLAN Adapter oder VPN Adapter umzubenennen, verwenden wir ein VB Script.

Folgendes Codeschnipsel kopieren wir und speichern uns unter “rename-networkadapter.vbs” ab.

  • Zeile 8: “alter Name des Netzwerkadapters”
  • Zeile 9: “neuer Name des Netzwerkadapters”

Nach ausführen des Scripts, werden die Netzwerkadapter umbenannt. Natürlich kann das Script ohne Probleme angepasst, bzw. erweitert werden. 🙂

 

Ein VB Script kann aber noch mehr:

Laufwerk umbenennen mit VB Script
Laufwerksbuchstaben ändern mit VB Script

Computerinformationen auslesen für Unternehmen

In Unternehmen gibt es oft einen IT Helpdesk oder IT Support. Wenn diese nun einen Mitarbeiter zwecks eines Tickets zurück rufen, weiß er oft die Daten des Computers nicht. Mit diesem selbst geschriebenen kleinen Tool, werden alle nötigen Computerinformationen aufgelistet, bzw. Computerinformationen ausgelesen.

kalhh / Pixabay

 

Computerinformationen anzeigen

Die Fragen nach der IP Adresse, des Computernamen oder anderer Dinge, ist für den IT Helpdesk ganz normal. Nur die “normalen” Benutzer sind dann oft schon überfordert. Ich habe eine kleine EXE geschrieben, die dem Standardbenutzer die wichtigsten Informationen über den Computer ausgibt. Mit einem Doppelklick auf die Computerinfo.exe werden folgende Daten angezeigt:

  • Computername (Hostname)
  • IP Adresse
  • Domäne
  • Benutzername
  • Benutzer Alias
  • Betriebssystem
  • Status Domäne (DC erreichbar?)
  • Status Internet (Direkter Weg ins Internet?)

Natürlich kann man per Softwareverteilung die .exe Datei in “C:\Windows” kopieren lassen und dem Benutzer nur einen Shortcut / Verknüpfung auf den Desktop legen.

ComputerInfo.zip herunterladen

Matrix42 Empirum Agent installieren – manuell

Wer die Softwareverteilung von Matrix42 verwendet, hat als Management die Software Empirum. Um die Computer im Netzwerk verwalten zu können, benötigt jeder Client den Empirum Agent. Der Agent wird bei der Installation des Computers automatisch installiert. Wie wir den Empirum Agent installieren können, wenn ein Computer schon fertig installiert ist, zeigen wir euch heute in diesem Beitrag. Es gibt in der Regel 2 Möglichkeiten den Agent auf dem Computer manuell per Hand zu installieren.

Mediamodifier / Pixabay

 

Empirum Agent installieren per Hand

Wer den Empirum Agent manuell installieren will, weil sein Computer schon fertig installiert ist, kann zwei verschiedene Möglichkeiten benutzen. Dies wird oft bei Touch-Fernsehern oder Tablets verwendet, da diese “exotische” Treiber benötigen, und es zu viel Aufwand ist, diese in Empirum zu verwalten.

1 - Agent pushen

Um den Agent zu pushen, muss die Empirum Console geöffnet werden. Dann gehen wir auf das Computerobjekt, welches schon im Empirum gepflegt ist.

Mit einem “Rechtsklick -> Experte -> Push Agent…” öffnet sich der Assistent zum Verteilen des Agents.

Damit dies funktioniert, müssen auf dem Client folgende Voraussetzungen erfüllt sein:

  • Anmeldedienst (Service gestartet?)
  • Remoteprozeduraufruf (RPC) (Service gestartet?)
  • Remote-Registrierungsdienst (Service gestartet?)
  • Server (Service gestartet?)
  • Freigaben vorhanden? (IPC$ | admin$)

2 - Agent manuell installieren

Wenn das Computerobjekt noch nicht in Empirum gepflegt ist, muss der Agent per Hand installiert werden.

Dazu gehen wir in das Empirum Share im Netzwerk.
\\yourEmpirumServer\configurator$\User\
Dort gibt es im Regelfall eine “Empirumagent.bat“, die als Administrator ausgeführt werden muss. Dadurch wird der Agent installiert und das Computerobjekt erscheint in der Empirum Console.

Falls die Batch – Datei nicht verfügbar sein sollte, kann der Agent auch mit folgendem Befehl installiert werden:

 

Oft gibt es auch Probleme mit der Sprache des Empirum Agent. Wir haben in einem früheren Beitrag erklärt, wie sich die Sprache der Software umstellen lässt 🙂

Empirum Agent Sprache ändern per Registry

EASY Capture Client für SCCM / Empirum

Um Dokumente zu Archivieren gibt es verschiedene Tools. Eins davon ist das EASY Archiv von EASY Software AG. Um Dokumente von den Client Computern archivieren zu können, werden so genannte EASY Capture Clients verwendet. Der EASY Capture Office Client (Office Integration) und der EASY Cpature Scan Client. Wie diese Softwareprodukte für Microsoft SCCM oder Matrix42 Empirum paketiert werden, könnt ihr bei uns lesen.

 

EASY Capture Client

Je nach dem, ob ihr den Capture Office Client, oder den Capture Scan Client installieren wollt, muss natürlich die setup.exe und die config.ini angepasst werden. Die Installations Parameter für SCCM und Empirum bleiben jedoch die gleichen 🙂

Auf das Share hat jeder User Leseberechtigung, deswegen wird das Setup direkt vom Server ausgeführt.

 

Installation:

Die Parameter für die silent Installation sehr ihr im Aufruf. Das Optionsfile definiert Einstellungen, wie z.B. die Serverdadresse.

 

Deinstallation:

Die Deinstallation erfolgt anders, als bei anderen Installern. Hier ruft man wieder die Installations – exe auf, aber diesmal mit dem Parameter “–uninstall=true”.

 

 

EASY Capture Registry Werte

Die Einstellungen die bei der Installation von der ini-Datei gelesen werden, werden direkt in die Registry geschrieben. Wenn sich danach die Serverdaten ändern, oder der Port, müssen lediglich die Registry Einträge geändert werden. (Am Besten auch per Softwarepaket)

 

 

EASY Capture Client – Beispiel

Im folgenden eine Setup.inf für Matrix42 Empirum, um den Capture Scan Client zu paketieren und zu verteilen:

Matrix42 Empirum Variable

Die Paketierung mit der Setup.inf von Matrix42 Empirum ist zwar etwas unübersichtlicher als mit Microsoft SCCM, allerdings wird uns ein wenig mit einer Empirum Variable unter die Arme gegriffen. Variablen können selbst erstellt werden, aber es gibt auch eine große Liste an vordefinierten Variablen. Wie das funktioniert, und wie es eingesetzt werden kann, könnt ihr bei uns nachlesen.

geralt / Pixabay

 

Empirum Variable erstellen

Eine Variable in der Setup.inf zu erstellen ist ganz einfach! Die Definition lautet wie folgt:

Beispiel:

In der Variable %server-sharepoint% steht nun der Wert “10.50.1.150”.

Achtung!

Variablen in Empirum werden immer OHNE “%” definiert, bzw. erstellt.

 

Empirum Variable verwenden

Um diese Variablen zu verwenden, müssen diese Variablen nun am Anfang und am Ende mit einem “%” geschrieben werden.

Definition:

Aufruf:

 

Beispiel: In der Setup.inf in Zeile 112-115 werden solche Variablen definiert und im unteren Teil (Ab Zeile 156) verwendet.

 

Empirum Variable Übersicht

Hier gibt es eine Übersicht der Variablen, die von seitens Empirum schon vordefiniert sind. Ich empfehle mit diesen zu arbeiten. Erstens erleichter es Schreibarbeit und Zweitens werden somit “Tippfehler” vermieden.

VariableBedeutung
AccessoriesVerzeichnis der Verknüpfungen für Zubehör (relativ zu Startmenü\Programme).
AdminToolsBenutzerabhängiges Verzeichnis im Startmenü für die Verwaltungsprogramme.
AppApplikationsverzeichnis, also das Zielverzeichnis, das vom Benutzer eingegeben wurde, bzw. durch ApplicationDir  vordefiniert wurde. Handelt es sich um eine Shared-Installation, so dass die Anwendungen von einem Server gestartet wurden, handelt es sich um das Verzeichnis auf dem Server, in das durch ein Setup /A kopiert wurde. Für das lokale Verzeichnis muss dann %Client% benutzt werden.
AppDataBenutzerabhängiges Verzeichnis für Anwendungsdaten.
AppPathsSchlüssel in der Registrierungsdatenbank, unter dem die Pfade für die Applikationen abgelegt sind.
CDBurnAreaBenutzerabhängiges Verzeichnis für Puffer beim CD/DVD Brennen.
ClientClientverzeichnis auf dem lokalen Computer, falls es sich um eine Shared-Installation handelt und auf dem lokalen Computer spezifische Dateien abgelegt werden müssen, die nicht auf dem Server oder in einem Verzeichnis wie %Windows% untergebracht sind. Wird keine Shared-Installation durchgeführt, ist der Wert identisch mit %App%.
ClientSrcDirQuellverzeichnis für Dateien nach einer Administrator-Installation, die pro Client benötigt werden, z.B. Dateien für das Windows-Verzeichnis. Das Verzeichnis ist relativ zum Installationsverzeichnis und wird durch ClientSrcDir definiert.
CLRDirPfad zum .NET CLR-System-Verzeichnis (steht erst unmittelbar vor dem Aufruf des Befehls RegAsm zur Verfügung).
CommonAdminToolsGemeinsames Verzeichnis für Verknüpfungen zu Admin-Tools.
CommonAppDataGemeinsames Verzeichnis für Anwendungsdaten.
CommonDesktopGemeinsames Verzeichnis für den Desktop aller Benutzer.
CommonDocumentsGemeinsames Verzeichnis für Dokumente.
CommonFavoritesGemeinsames Verzeichnis für Favoriten.
CommonFilesDirVerzeichnis für gemeinsam genutzte Komponenten eines Herstellers. Jeder Hersteller legt darunter ein eigenes Verzeichnis an, z.B. “Microsoft Shared”.
CommonFilesDirx86Verzeichnis für 32-Bit gemeinsam genutzter Komponenten eines Herstellers auf 64-Bit Computern. Jeder Hersteller legt darunter ein eigenes Verzeichnis an, z.B. “Microsoft Shared”.
CommonMusicGemeinsames Verzeichnis für eigene Musik.
CommonPicturesGemeinsames Verzeichnis für eigene Bilder.
CommonProgramsGemeinsames Verzeichnis für Verknüpfungen zu Programmen (Startmenü/Programme).
CommonStartMenuGemeinsames Verzeichnis für das Startmenü.
CommonStartupGemeinsames Verzeichnis für Autostart-Verknüpfungen.
CommonTemplatesGemeinsames Verzeichnis für neue Dokumente (wird beim Befehl Neu des Explorer verwendet).
CommonVideoGemeinsames Verzeichnis für eigene Videos.
CompanyName der Firma, die durch den Benutzer eingegeben oder durch DefaultCompany vordefiniert wurde.
ComputerNameName des Computers.
CookiesBenutzerabhängiges Verzeichnis für die Internet Explorer Cookies.
DataDatenverzeichnis, der durch DataDir vordefiniert werden kann.
DesktopBenutzerabhängiges bzw. gemeinsames Verzeichnis für den Desktop (je nach Einstellung von CommonShellLinks).
DeveloperNameName des Herstellers, welcher durch DeveloperName definiert wurde.
DeveloperNameShortKurzname des Herstellers, welcher durch DeveloperNameShort definiert wurde.
DomainNameName der Domäne oder Arbeitsgruppe.
ErrorLevelError Level nach einem CALL Befehl.
ExactSysTimeAktuelles Datum im Format HH:MM:SS.mmm.
FavoritesBenutzerabhängiges Verzeichnis für bevorzugte Dateien (Favoriten).
FontsVerzeichnis für Schriftarten.
GamesVerzeichnis der Verknüpfungen für Spiele (relativ zu Startmenü\Programme).
HistoryBenutzerabhängiges Verzeichnis für den Internet Explorer Verlauf.
InstalledVersionZuletzt installiere Version, kann nur im Abschnitt Requirements benutzt werden.
InstalledRevisionZuletzt installiere Version, kann nur im Abschnitt Requirements benutzt werden.
InternetCacheBenutzerabhängiges Verzeichnis für den Internet Explorer Cache.
IsLaptopLiefert “1”, wenn es sich um ein Laptop (Notebook) handelt, “0” wenn es kein Laptop (Notebook) ist.
LocalAppDataBenutzerabhängiges Verzeichnis für lokale Einstellungen.
LocalSettingsLokale Einstellungen
LongSysTimeAktuelles Datum im Format HH:MM:SS.
MachineKeyNameSchlüssel in der Registrierungsdatenbank, unter dem Versionsinformationen der installierten Anwendung abgelegt werden. Kann durch MachineKeyName definiert werden.
MediaPathVerzeichnis für Multimedia-Dateien wie WAV, RMI usw.
MultimediaVerzeichnis der Verknüpfungen für Multimedia Tools (relativ zu Startmenü\Programme).
MyMusicBenutzerabhängiges Verzeichnis für eigene Musik.
MyPicturesBenutzerabhängiges Verzeichnis für eigene Bilder.
MyVideoBenutzerabhängiges Verzeichnis für eigene Videos.
NetHoodBenutzerabhängiges Verzeichnis für die Netzwerkumgebung.
OptionKompletter Name der Option, die gerade verarbeitet wird, bei hierarchischen Optionen mit komplettem Pfad, z.B. Samples\Video.
OptionNameBei hierarchischen Optionen (z.B. Samples\Video), hinterster Teil des Namens einer Option, z.B. Video.
OptionTextText der Option, die gerade verarbeitet wird.
OS.BuildNumberDie Build-Nummer des Betriebssystems, z.B. “7601”.
OS.CSDVersionDas installierte Service Pack auf dem System, z.B. “Service Pack 1”.
OS.DisplayStringVollständiger Name des Betriebssystems, z.B. “Microsoft Windows 7 Professional Service Pack 1 (build 7601), 64-bit”.
OS.MajorVersionDie größere Nummer der Version des Betriebssystems, z.B. “6”.
OS.MinorVersionDie kleinere Nummer der Version des Betriebssystems, z.B. “1”.
OS.NameName des Betriebssystems, z.B. “Windows 7”.
OS.PlatformIdDie Betriebssystem-Plattform Nummer, siehe auch msdn.microsoft.com.
OS.ProductTypeZusätzliche Informationen über das System, siehe auch msdn.microsoft.com.
OS.ServicePackMajorDie größere Nummer der Version des installierten Service Packs auf dem System, z.B. “1”.
OS.ServicePackMinorDie kleinere Nummer der Version des installierten Service Packs auf dem System, z.B. “0”.
OS.SuiteMaskBitmaske, die die Produkt-Suiten auf dem System identifiziert, siehe auch msdn.microsoft.com.
PersonalBenutzerabhängiges Verzeichnis für persönliche Daten.
PrinterDriverDirVerzeichnis für die Druckertreiber. Kann durch die Variablen PrintServer und PrintEnvironment im Abschnitt Application beeinflusst werden. Dorthin sollten Druckertreiber und Druckmonitore kopiert werden.
PrintHoodBenutzerabhängiges Verzeichnis für die Druckumgebung.
PrintProcessorDirVerzeichnis für den Druckprozessor von Windows NT. Kann durch die Variablen PrintServer und PrintEnvironment im Abschnitt Application beeinflusst werden.
ProductIDSeriennummer des Produktes. (Eingabe durch den Benutzer noch nicht implementiert).
ProductNameName des Paketes, das durch ProductName definiert wurde.
ProductNameShortKurzname des Produktes, welcher durch ProductNameShort definiert wurde.
ProgramFilesDirVerzeichnis für Anwendungsprogramme. Jede Anwendung legt darunter ein eigenes Verzeichnis an, z.B. “Phoenix”.
ProgramFilesDirx86Verzeichnis für 32-Bit Anwendungsprogramme auf 64-Bit Computern. Jede Anwendung legt darunter ein eigenes Verzeichnis an, z.B. “Phoenix”.
ProgramsBenutzerabhängiges bzw. gemeinsames Verzeichnis für Verknüpfungen zu Programmen (je nach Einstellung von CommonShellLinks).
RecentBenutzerabhängiges Verzeichnis für die zuletzt bearbeiteten Dokumente.
ReinstallStringZeichenkette, die von der Systemsteuerung benutzt wird, um mit dem Setup-Programm ein Reinstall aufzurufen. Kann durch ReinstallString definiert werden.
RevisionRevisionsnummer des Produktes, welche durch Revision definiert wurde.
SendToBenutzerabhängiges Verzeichnis für das “Senden an” Menü des Explorer.
SetupBitsAnzahl der Bits der Version des laufenden Setup-Programms, z.B. 32-Bit oder 64-Bit.
SetupInfVollständiger Name der Datei Setup.inf, mit der Setup gestartet wurde.
SetupInfDirVerzeichnis, in dem die Datei Setup.inf liegt, relativ gesehen zum Applikationsverzeichnis, das durch SetupInfDir definiert wurde.
SetupInfFileNameVollständiger Name der Datei Setup.inf, mit der Setup gestartet wurde.
SetupInfPathNamePfadname zur Datei Setup.inf.
SetupInfServerNameServername des Servers, von dem aus Setup.inf geladen wurde.
SetupNameName des Setup-Programms, der im Fenstertitel angezeigt wird und durch SetupName definiert wurde.
SoftwareDepotDistributionFlags, <Bit>Die Verteilungsflags werden vor der Installation des jeweiligen Paketes in das Environment des Computers geschrieben und können über diese Variable abgefragt werden. Mögliche Werte für <Bit> siehe Funktionen für die If Abfrage.
SrcQuellverzeichnis, aus dem die Dateien für die Installation kopiert werden, die durch SrcDir definiert wurde.
StartMenuBenutzerabhängiges bzw. gemeinsames Verzeichnis für das Startmenü (je nach Einstellung von CommonShellLinks).
StartupBenutzerabhängiges bzw. gemeinsames Verzeichnis für Autostart-Verknüpfungen (je nach Einstellung von CommonShellLinks).
SysDateAktuelles Datum im Format TT.MM.JJJJ.
SysTimeAktuelles Datum im Format HH:MM.
SystemWindows-Systemverzeichnis. Falls eine Datei auf dieses Verzeichnis kopiert werden soll und das Verzeichnis nicht beschrieben werden kann, kopiert Setup die Datei stattdessen automatisch ins Windows-Verzeichnis. Falls der Name dieses Verzeichnisses irgendwo abgelegt werden muss (z.B. in der Registrierungsdatenbank), muss die Variable %WriteableSystem% benutzt werden.
SystemToolsVerzeichnis der Verknüpfungen für Systemprogramme. (relativ zu Startmenü\Programme).
TemplatesBenutzerabhängiges Verzeichnis für neue Dokumente (wird beim Befehl Neu des Explorer verwendet).
UninstallDisplayNameZeichenkette, die in der Systemsteuerung erscheint, wenn die Anwendung installiert wurde, so dass sie wieder deinstalliert werden kann. Kann durch UninstallDisplayName definiert werden.
UninstallKeyNameNamen des Schlüssels in der Registrierungsdatenbank, der zum Deinstallieren einer Anwendung benötigt wird. Kann durch UninstallKeyName definiert werden.
UninstallStringZeichenkette, die von der Systemsteuerung benutzt wird, um das Uninstall-Programm aufzurufen. Kann durch UninstallString definiert werden.
UserName des Benutzers, der durch den Benutzer eingegeben oder durch DefaultUser vordefiniert wurde.
UserDesktopBenutzerabhängiges Verzeichnis für den Desktop des angemeldeten Benutzers.
UserKeyNameSchlüssel in der Registrierungsdatenbank, unter dem benutzerspezifische Informationen gespeichert werden. Kann durch UserKeyName definiert werden.
UserProfileBenutzerabhängiges Stammverzeichnis.
UserProgramsBenutzerabhängiges Verzeichnis für Verknüpfungen zu Programmen (Startmenü/Programme).
UserStartMenuBenutzerabhängiges Verzeichnis für das Startmenü.
UserStartupBenutzerabhängiges Verzeichnis für Autostart-Verknüpfungen.
VersionVersionsnummer des Produktes, welche durch Version definiert wurde.
WindowsWindows-Verzeichnis.
WindowsBitsAnzahl der Bits der Version von Windows, z.B. 32-Bit oder 64-Bit.
WindowsNameName des Betriebssystems, wie es in der Registrierungsdatenbank (HKLM\Software\Microsoft…) unterschieden wird. Er ist entweder “Windows” oder “Windows NT”.
WindowsUserName des Benutzers, wie er in Windows angemeldet ist.
WindowsVersionVersionsnummer von Windows, z.B. 4.0, 4.10, 5.0 6.0 usw. Bitte beachten Sie, dass die Zahlen hinter dem Komma immer zweistellig sind (außer 0).
WriteableSystemWindows-Systemverzeichnis oder das Windows-Verzeichnis, falls das Systemverzeichnis nicht beschreibbar ist. Dies ist meist bei einem Shared Windows der Fall. Kann für die Registrierungsdatenbank usw. benutzt werden, um Dateien zu beschreiben, die statt ins System- ins Windows-Verzeichnis kopiert werden sollen.
$BatchAlle Stapel Benutzer.
$CreatorOwnerAlle Erzeuger/Besitzer.
$DialupAlle Remote Benutzer.
$DomainAdminDomänen Administrator.
$DomainAdminsDomänen Administratoren.
$DomainGuestDomänen Gäste.
$DomainUsersDomänen Benutzer.
$EveryoneJeder.
$InteractiveAlle interaktiven Benutzer.
$LocalAlle Benutzer, die lokal angemeldet sind.
$LocalAccountOpsLokale Kontooperatoren (nur Server).
$LocalAdminsLokale Administratoren.
$LocalBackupOpsLokale Backupoperatoren.
$LocalCertsvcDCOMAccessGroupLokale DCOM Sicherheitsgruppe für DCOM Zugriff (nur Server).
$LocalDCOMUsersLokale DCOM Benutzer Gruppe (nur Server).
$LocalGuestsLokale Gäste.
$LocalIUsersLokale interaktive Benutzer (nur Server).
$LocalPowerUsersLokale Hauptbenutzer.
$LocalPrintOpsLokale Druckoperatoren (nur Server).
$LocalRASServersLokale RAS Server Gruppe (nur Server).
$LocalRemoteDesktopUsersLokale Terminal Server Benutzer Gruppe (nur Server).
$LocalSystemLokales Systemkonto.
$LocalSystemOpsLokale Systemoperatoren (nur Server).
$LocalTSLicenseServersLokale Terminal Service Lizenz Server Gruppe (nur Server).
$LocalUsersLokale Benutzer.
$NetworkAlle Netzwerk Benutzer.
$ServiceAlle Dienste.
$SIDSecurity Identifier (SID) des angemeldeten Benutzers, oder von LOCALSYSTEM (wenn kein Benutzer angemeldet ist).

Daten von Empirum Helpfiles.

1 2 3 8