Kategorien
Scripte

Debugging und Cross-Testing mit System

Grossrechner Server Verkabelung

Einführung

Fehlersuche (engl. debugging) und Kreuztest (engl. cross-testing) sind zwei wichtige Schritte bei der Entwicklung von Software oder einer Website. Dies dient zur Sicherzustellung der ordnungsgemäßen Funktion.

Fehlersuche

Die Fehlersuche bezieht sich auf den Prozess der Identifizierung, Analyse und Behebung von Fehlern oder Bugs in der Software oder Website. Um einen Fehler zu finden, können Entwickler Debugging-Tools und -Techniken verwenden, um den Code zu prüfen. Es können auch Fehlerprotokolle überprüft werden oder auch Tests durchgeführt werden. Wird ein Fehler gefunden, hat der Entwickler die Möglichkeit den Code aktualisieren.

Kreuztest

Der Kreuztest hingegen bezieht sich auf den Prozess des Testens der Software oder Website auf verschiedenen Plattformen, Browsern oder Geräten, um sicherzustellen, dass sie auf allen Plattformen gleichmäßig und korrekt funktioniert. Also ist diese Tätigkeit besonders wichtig, da verschiedene Plattformen unterschiedliche Anforderungen haben können, z.B. in Bezug auf Bildschirmgröße oder Funktionalität. Durch den Kreuztest wird sichergestellt, dass die Software oder Website in allen Umgebungen optimal funktioniert und eine gute Benutzererfahrung bietet.

Praxis

In der Praxis kann die Fehlersuche und der Kreuztest zusammen durchgeführt werden. Entwickler können die Software oder Website auf verschiedenen Plattformen und Geräten testen, um sicherzustellen, dass sie auf allen Geräten und Plattformen korrekt funktioniert. Folglich dient das dazu, mögliche Fehler oder Bugs zu identifizieren. Sobald ein Fehler gefunden wird, können Entwickler den Code entsprechend aktualisieren. Im Anschluss kann erneut das Testen erfolgen, um sicherzustellen, dass der Fehler behoben wurde. Solange bis die Software oder Website fehlerfrei funktioniert.

5 Richtlinien für das Testen von Webseiten:

  1. Teste auf verschiedenen Browsern und Geräten. Es ist wichtig, dass Webseiten auf verschiedenen Browsern und Geräten getestet werden, um sicherzustellen, dass sie auf allen Plattformen konsistent funktionieren. Dies hilft auch, mögliche Probleme auf verschiedenen Bildschirmgrößen, Auflösungen und Betriebssystemen zu erkennen und zu beheben.
  2. Teste auf verschiedenen Internetverbindungen. Es ist auch wichtig, Webseiten auf die verschiedenen Internetverbindungen zu testen, um sicherzustellen, dass sie auf langsamen Verbindungen schnell geladen werden können. Hierbei können Tools von diversen Anbietern helfen.
  3. Teste auf Benutzerfreundlichkeit. Teste die Webseiten auf die Benutzerfreundlichkeit, um sicherzustellen, dass sie einfach zu navigieren sind und eine gute Benutzererfahrung bieten. Überprüfe, ob die Schriftgröße und das Design der Webseite auf verschiedenen Geräten gut lesbar ist und dass wichtige Elemente wie z.B. Call-to-Actions leicht zu finden sind.
  4. Teste auf Sicherheit. Teste Webseiten auch auf Sicherheit, um sicherzustellen, dass sie vor möglichen Angriffen geschützt sind. Überprüfe, ob alle Formulare und Eingabefelder sicher sind und ob es keine Schwachstellen im Code gibt, die von Hackern ausgenutzt werden können.
  5. Teste regelmäßig. Es ist also wichtig, Webseiten regelmäßig zu testen, um sicherzustellen, dass sie immer auf dem neuesten Stand sind und mögliche Probleme frühzeitig zu erkennen und zu beheben. Eine Möglichkeit, dies zu tun, ist das Einrichten von automatisierten Tests und Überwachungstools, die bei Problemen Alarm schlagen. Derartige Tools findet ihr zum Teil auch kostenlos auf einschlägigen Seiten.
Kategorien
Scripte

Active Directory null Streß mit Scripten

DB Icon Graustufen

Einführung

Active Directory ist eine zentrale Komponente in vielen IT-Infrastrukturen und wird häufig zur Verwaltung von Benutzern, Gruppen, Computern und anderen Ressourcen verwendet. Die Verwaltung von Active Directory kann jedoch zeitaufwändig und fehleranfällig sein, insbesondere in großen Netzwerken mit vielen Benutzern und Ressourcen.

Eine Möglichkeit, die Verwaltung von Active Directory zu automatisieren und zu vereinfachen, ist die Verwendung von Skripten. Hier sind einige Beispiele, wie Skripte verwendet werden können, um Active Directory-Aufgaben zu automatisieren:

Lebenszyklus von Benutzerkonten automatisieren

Das automatische Erstellen neuer Benutzerkonten oder das Ändern oder Löschen bestehender Benutzerkonten ist normalerweise die erste Aufgabe, die in Angriff genommen wird. Diese Skripte können auch E-Mail-Adressen, Gruppenmitgliedschaften und andere Eigenschaften automatisch verwalten.

Gruppenrichtlinien automatisieren

Skripte können erstellt werden, um Gruppenrichtlinien automatisch auf bestimmte Gruppen von Computern oder Benutzern anzuwenden. Diese Skripte können auch verwendet werden, um sicherzustellen, dass Gruppenrichtlinien auf dem neuesten Stand sind und dass Änderungen automatisch auf alle betroffenen Benutzer in einer Domäne angewendet werden.

Automatisierung der Sicherheitsgruppen

Skripte können auch erstellt werden, um Sicherheitsgruppen automatisch zu erstellen oder zu ändern, um den Zugriff auf Ressourcen im Active Directory zu steuern. Diese Skripte können auch verwendet werden, um sicherzustellen, dass die Mitgliedschaft in Sicherheitsgruppen korrekt und aktuell ist.

Die Automatisierung von Berichten

Skripte können erstellt werden, um automatisch Berichte über die Aktivitäten im Active Directory zu erstellen. Diese Berichte können Informationen über Benutzer, Gruppen, Computer und andere Ressourcen enthalten und zur Überwachung von Sicherheit und Compliance verwendet werden.

Backup

Die Verwendung von Skripten ist möglich, um automatisch Backups von Active Directory-Daten zu erstellen. Diese Backups können verwendet werden, um Datenverluste zu vermeiden und Active Directory schnell wiederherzustellen, wenn Probleme auftreten.

Fazit

Zur Automatisierung von Active Directory-Aufgaben bieten Scripte eine hervorragende Möglichkeit. Die Verwaltung von komplexen IT-Infrastrukturen wird maßgeblich vereinfacht. Zeit wird gespart und Fehler reduziert. Es ist jedoch wichtig, dass Skripte sorgfältig geprüft und getestet werden, bevor sie in der Produktionsumgebung eingesetzt werden.

Weitere Infos dazu bei Microsoft.

Kategorien
Scripte

Was ist denn bitte BITS?

CSS Programming Image

Einführung

Der Background Intelligent Transfer Service (BITS) ist ein Windows-Systemdienst, der entwickelt wurde, um den Datentransfer im Hintergrund zwischen einer Windows-Maschine und einer Remote-Serveranwendung zu ermöglichen.

BITS ermöglicht es, dass große Dateien und Softwareupdates im Hintergrund heruntergeladen werden, ohne dass die Benutzeraktivität gestört wird.

Verwendet werden kann BITS, um Dateien über HTTP-, HTTPS- und FTP-Protokolle zu übertragen und wird häufig von Windows Update, Microsoft Exchange Server, System Center Configuration Manager und anderen Windows-Diensten verwendet.

Auch von Drittanbieter-Anwendungen wird BITS genutzt, um Datenübertragungen im Hintergrund durchzuführen.

Verwendet wird eine Technologie namens “intelligente Übertragung”, um Bandbreitenengpässe zu vermeiden und sicherzustellen, dass der Download auch bei Unterbrechungen oder Netzwerkausfällen fortgesetzt werden kann.

Durch BITS wird eine Datei in kleinere Teile aufgeteilt. Die Übertragung erfolgt dann in Paketen. Falls es zu einer Unterbrechung der Verbindung kommt, wird der Download nicht unterbrochen, sondern einfach an der Stelle fortgesetzt, an der er unterbrochen wurde.

BITS priorisiert auch den Datentransfer basierend auf der Benutzeraktivität und stellt sicher, dass der Download nur stattfindet, wenn das Netzwerk nicht ausgelastet ist, um andere wichtige Aufgaben nicht zu beeinträchtigen.

Der Dienst wird hauptsächlich von Windows Update, Microsoft Update, Windows Server Update Services und Systems Management Server verwendet. Hiermit können Software-Updates oder auch paketierte und bereitgestellte Software verteilt werden.

Darüber hinaus wird er z.B. von Antivirenprogrammen zum Laden von Signaturdateien verwendet. BITS kann über eine COM-Schnittstelle angesprochen werden, so dass der Zugriff von einer Vielzahl von Programmiersprachen aus gut möglich ist.

Vorteile von BITS-Transfer Jobs

  • Job kann nach einem Neustart fortgesetzt werden.
  • Transfer fungiert über HTTP.
  • Perfekt für Datentransfer über eine langsame Leitung.
  • Zuverlässiger Dateitransfer

Beispiel 1: Abrufen aller BitsJob-Objekte, die dem aktuellen Benutzer gehören

Get-BitsTransfer

Beispiel 2: Abrufen des BitsJob-Objekts mit der Job-ID

Get-BitsTransfer -JobId xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Beispiel 3: Abrufen mit dem Parameter “AllUsers”, besitzt der ausführende Benutzer keine administrativen Anmeldeinformationen, so erfolgt eine Fehler.

Get-BitsTransfer -AllUsers

Interessant ist ein Kopierbefehl wie:

Start-BitsTransfer -Source <\\share\folder\*> -Destination <\\share\folder\> 

Anzeigen aller aktiven Jobs in lesbarer Anzeige

Get-BitsTransfer | Format-Table -Wrap -AutoSize 

Löschen eines Jobeintrages

Get-BitsTransfer -JobId <JobId> | Remove-BitsTransfer

Fortsetzen eines BITS-Transfer-Jobs

Get-BitsTransfer -JobId <JobId> | Resume-BitsTransfer 

Wenn ein Auftrag noch aktiv ist, kann er mit dem Set-BitsTransfer-Cmdlet mit den neuen Einstellungen aktualisiert werden. Im folgenden Beispiel wird der Auftrag von “Normal” (urprünglich gesetzt) auf “Vordergrund” gesetzt.

Set-BitsTransfer -Priorität ‘Vordergrund’


Es gibt hier interessante Ansätze um eine Lösung zu diversen Aufgaben zu erreichen.
Gerade im Hinblick auf die Verwendung ungenutzer Netzwerkressourcen. Auch die Möglichkeit des Stop-Start auch nach einem Neustart des Systems bietet Raum zur Anwendung von möglichen Used Cases.

Mit Sicherheit wird niemand nur mit dieser Methode arbeiten. Ein potenzieller Ersatz für herkömmliche Windows-Programme wie Robocopy kann BITS nicht sein. Aber es hält sich an die PowerShell Methodik und ist damit nahtlos in bestehende Automatisierungen und Skripte integrierbar.
Insgesamt ist das Feature nicht allzu bekannt, bietet aber bei genauerem Hinsehen gerade im WEB Umfeld unglaubliche Möglichkeiten. Viel Erfolg damit!

Kategorien
Scripte

PowerShell & Registry ein mächtiges Duo

Powershell Logo

Die Windows-Registrierung ist eine zentrale Datenbank, in der Windows Informationen über Systemeinstellungen, installierte Programme und Hardwarekonfigurationen speichert.

Mit PowerShell können Sie die Windows-Registrierung einfach bearbeiten. Dementsprechend findet man hier eine Beschreibung und Beispiele.

Registry-Schlüssel lesen

Verwenden Sie den Befehl Get-ItemProperty, um die Werte eines bestimmten Registry-Schlüssels abzurufen.

Zum Beispiel:

Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion" -Name "ProgramFilesDir"

Dieser Befehl ruft den Wert des “ProgramFilesDir”-Eintrags im “CurrentVersion”-Unterschlüssel des “HKCU:\Software\Microsoft\Windows”-Pfads ab.

Registry-Schlüssel erstellen

Verwenden Sie den Befehl New-Item, um einen neuen Registry-Schlüssel zu erstellen.

Zum Beispiel:

New-Item -Path "HKCU:\Software\MyApp"

Dieser Befehl erstellt den “MyApp”-Schlüssel im “HKCU:\Software”-Pfad.

Registry-Wert erstellen/ändern

Sie können den Befehl Set-ItemProperty verwenden, um einen Wert in einem Registry-Schlüssel zu erstellen oder zu ändern.

Zum Beispiel:

Set-ItemProperty -Path "HKCU:\Software\MyApp" -Name "Version" -Value "1.0"

Dieser Befehl erstellt oder ändert den Wert des “Version”-Eintrags im “MyApp”-Schlüssel.

Registry-Schlüssel löschen

Verwenden Sie den Befehl Remove-Item, um einen Registry-Schlüssel zu löschen.

Zum Beispiel:

Remove-Item -Path "HKCU:\Software\MyApp

Dieser Befehl löscht den gesamten “MyApp”-Schlüssel.

Es ist wichtig zu beachten, dass die Änderungen an der Windows-Registry vorsichtig vorgenommen werden sollten. Sie haben Auswirkungen auf die Stabilität des Systems. Stellen Sie sicher, dass Sie vor dem Bearbeiten der Registry eine Sicherungskopie erstellen oder genau wissen, welche Änderungen Sie vornehmen.

Interessant wird die Bearbeitung von Registry Einträgen im Zusammenhang mit dem nachfolgenden Absatz zu Remote Powershell. Der Nutzen hierbei ist für automatisierte Vorgänge wie Installation und Konfigurationen offensichtlich.

Remote Powershell nutzen

Remote PowerShell ist eine Funktion, die es Administratoren ermöglicht, PowerShell-Befehle und -Skripte von einem Computer aus auf entfernten Computern oder Servern auszuführen. Es handelt sich um eine leistungsstarke Methode zur Verwaltung von Computern und zur Automatisierung von Aufgaben in einer Netzwerkumgebung.

Mit Remote PowerShell kann eine Verbindung zu einem entfernten Computer hergestellt werden, auf dem PowerShell aktiviert ist. Sobald die Verbindung hergestellt ist, können Befehle und Skripte lokal auf dem Remotecomputer ausgeführt werden, als ob sie direkt auf diesem Computer eingegeben würden.

Die Verwendung von Remote PowerShell hat mehrere Vorteile. Administratoren können Aufgaben auf mehreren Computern gleichzeitig ausführen. Das spart Zeit und Aufwand. Skripte können zur Automatisierung von Aufgaben entwickelt und auf entfernten Computern bereitgestellt werden.

Beispiel für einen remote Aufruf

Enter-PSSession -ComputerName MyComuter
Set-Location HKLM:\SOFTWARE\MySoftwareItem
Remove-Item "MySoftwareItem"
Exit-PSSession

Sollte nicht schwer sein hier mit einer Liste zu arbeiten.

Zuletzt noch etwas zur Umgebung. Voraussetzung ist, sowohl der lokale als auch der entfernte Computer müssen über PowerShell verfügen und Remote PowerShell aktiviert haben. Die Verbindung zwischen den Computern erfolgt über das Windows Remote Management (WinRM) Protokoll.

Kategorien
Scripte

Service Packs und Fixes mit PowerShell

Powershell Logo

Einführung

Ein wichtiger Bestandteil der Aktualisierung von Betriebssystemen und Anwendungen sind Service Packs und Hotfixes. Mit PowerShell, Microsofts mächtiger Skriptsprache und Kommandozeileninterpreter, kannst du Informationen über installierte Service Packs abrufen. Hier ein Beispiel, wie das geht.

Du kannst das WMI-Objekt (Windows Management Instrumentation) verwenden, um diese Informationen abzurufen.

Hier ist ein Beispiel, wie du die installierten Service Packs mit PowerShell abrufen kannst.

# Verwende das WMI-Objekt, um Informationen zu den installierten Service Packs abzurufen
$servicePacks = Get-WmiObject -Class Win32_OperatingSystem | Select-Object -ExpandProperty ServicePackMajorVersion

# Gib die installierten Service Packs aus
Write-Host "Installierte Service Packs:"
$servicePacks | ForEach-Object { Write-Host "- $_" }

Danach folgt hier ein Beispiel, wie du die installierten Hotfixes abrufen kannst.

# Verwende das WMI-Objekt, um Informationen zu den installierten Hotfixes abzurufen
$hotfixes = Get-WmiObject -Class Win32_QuickFixEngineering | Select-Object -Property HotFixID

# Gib die installierten Hotfixes aus
Write-Host "Installierte Hotfixes:"
$hotfixes | ForEach-Object { Write-Host "- $_.HotFixID" }

Anschließend wird der Code kombiniert und ergibt das nachfolgende Script.

# Service Packs abrufen
$servicePacks = Get-WmiObject -Class Win32_OperatingSystem | Select-Object -ExpandProperty ServicePackMajorVersion

if ($servicePacks) {
    Write-Host "Installierte Service Packs:"
    foreach ($sp in $servicePacks) {
        Write-Host "Service Pack $sp"
    }
}
else {
    Write-Host "Es sind keine Service Packs installiert."
}

# Hotfixes abrufen
$hotfixes = Get-WmiObject -Class Win32_QuickFixEngineering

if ($hotfixes) {
    Write-Host "Installierte Hotfixes:"
    foreach ($hotfix in $hotfixes) {
        $hotfixId = $hotfix.HotFixID
        $description = $hotfix.Description
        Write-Host "Hotfix ID: $hotfixId"
        Write-Host "Beschreibung: $description"
        Write-Host "-----"
    }
}
else {
    Write-Host "Es sind keine Hotfixes installiert."
}

Die WMI Klassen

Diese Beispiele verwenden die WMI-Klassen Win32_OperatingSystem und Win32_QuickFixEngineering, um die benötigten Informationen abzurufen. Die Ausgabe zeigt die installierten Service Packs bzw. Hotfixes an.

Die WMI-Klasse Win32_OperatingSystem ist eine Klasse in der Windows Management Instrumentation (WMI), die Informationen über das Betriebssystem eines Computersystems bereitstellt. Diese Klasse enthält eine Vielzahl von Eigenschaften und Methoden, mit denen man verschiedene Aspekte des Betriebssystems abfragen kann.

Die Win32_QuickFixEngineering-Klasse ist eine WMI-Klasse (Windows Management Instrumentation) in Windows-Betriebssystemen, die Informationen über installierte Windows-Sicherheitsupdates, Hotfixes und Service Packs enthält. Sie ermöglicht den Zugriff auf Informationen über Patches und Updates, die auf einem Windows-System installiert wurden, um bekannte Probleme, Sicherheitslücken oder Fehler zu beheben. Die Klasse enthält verschiedene Eigenschaften, die Details zu den installierten Updates liefern. Dazu gehören der Name des Updates, die Beschreibung, das Installationsdatum und der Status (installiert, deinstalliert usw.).

Bitte beachte, dass du administrative Rechte benötigst, um auf diese Informationen zuzugreifen.