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
Stylesheets Webentwicklung

CSS Box Model – kollabierende Abstände

Die Erklärung

“Kollabierende Abstände” bezieht sich auf das Verhalten von vertikalen Margen benachbarter Elemente. Wenn zwei vertikale Margen aufeinandertreffen, wird der größere der beiden verwendet, während der kleinere “kollabiert” oder verschwindet. Dies verhindert unerwünschte, große Abstände zwischen den Elementen und sorgt für ein vorhersehbares Layout.

Horizontal

Stehen zwei Boxen nebeneinander so addieren sich die Außenabstände.

Hat eine Box einen Außenabstand von 50px rechts und eine zweite Box einen Außenabstand von 50px nach links so beträgt der Abstand der zwei Boxen 100px voneinander entfernt.

Vertikal

Sind zwei Boxen übereinander angeordnet, so wird der kleinere der beiden Abstände ignoriert.

Hat eine Box einen unteren Außenabstand von 50px und eine zweite Box einen oberen Außenabstand von 50px so beträgt der Abstand der zwei Boxen 50px.

kollabierende vertikale Abstände
kollabierende vertikale Abstände

Ausnahmen

Es gibt Fälle in denen die Außenabstände nicht kollabieren. Das trifft bei Elementen wie

overflow, float, position, display

zu. Probleme entstehen in bezogen auf das CSS Box Model besonders bei Boxen mit Angaben in Prozent.

Kategorien
Scripte

Windows neu starten nach Abfrage

CSS Programming Image

Wenn es nicht tut, hilft nur Reboot. Ihr kennt alle diese tollen Sprüche. Im Ernst…

Nach Installationen oder auch zu Wartungszwecken ist es mitunter nötig den Rechner oder das Notebook unter Windows neu zu starten.

Dieses kurze Script kann dabei helfen und am Ende einer Prozedur hinzugefügt werden. Der Benutzer kann die Ausführung, wenn es nötig sein sollte, abbrechen.

Ihr könnt das Script dem entsprechend abändern. Ausführung erfolgt mit “Windows Based Script Host”.

nachricht = "Beschreibung:" & vbCr & "Dieses Skript startet Windows neu. ACHTUNG: Windows wird mit diesem Skript NEU GESTARTET!" & vbCr & vbCr & "Jetzt das Skript ausführen?"
antwort = MsgBox(nachricht, vbYesNo + vbQuestion)
if antwort = vbNo then 
  MsgBox "Abbruch", vbExclamation
  WScript.Quit
end if

'SYS: Windows Shell Common Dll
Set shell = CreateObject("Shell.Application")

'SYS: Windows Script Host Runtime Library
Set wshshell = CreateObject("WScript.Shell")

antwort = MsgBox("Wollen Sie wirklich Windows neu starten?", vbYesNo + vbQuestion)
If antwort = vbYes Then
   ' Beenden aufrufen
   shell.ShutdownWindows
   ' halbe Sekunde warten
   WScript.Sleep 750
   ' Neu starten wählen
   wshshell.SendKeys "%N{ENTER}"
End If
Kategorien
Scripte

Network Virtual Service Provider Bind

Binäre Darstellung

Summary

The purpose of nvspbind is to disable and enable protocol bindings from the command line when operating in the parent partition for Hyper-V in a server core environment.  This is typically accomplished using the network control panel. However, the network control panel GUI applet is not available in a server core installation of Windows Server 2008 or Microsoft Hyper-V Server.  Nvspbind provides a means for enabling and disabling the protocols from the command line.

Beispiel 1 (IPV6 on IPV4 off):

@echo off
REM IPV6 on IPV4 off
cls
REM cd IPV6
.\nvspbind.exe /e * ms_tcpip
.\nvspbind.exe /e * ms_tcpip6
pause
cls
.\nvspbind /o ms_tcpip6
.\nvspbind /o ms_tcpip
pause

Beispiel 2 (IPV6 on IPV4 on):

@echo off
REM IPV6 on IPV4 on
cls
REM cd IPV6
.\nvspbind.exe /e * ms_tcpip    
.\nvspbind.exe /e * ms_tcpip6
pause
cls
.\nvspbind /o ms_tcpip6
.\nvspbind /o ms_tcpip
pause

Die eigentlichen Tools kopiert ihr am besten in das gleiche Verzeichnis.

Kategorien
Anleitungen

Quick Comparison of Graphic Standards

HDMI Stecker Transparent
HDMI Stecker

Grafik – was ist das?

Grafik zählt nach Von-Neumann-Architektur (VNA) zur I/O Unit (Ein- und Ausgabewerk).

Ein Bildschirm ist eine elektrisch angesteuerte Anzeige ohne bewegliche Teile zur optischen Signal Ausgabe von veränderlichen Informationen wie Bildern oder Zeichen. Der Bildschirm kann dabei ein eigenständiges Gerät oder Teil eines Gerätes sein.

  • Grafikkarte
  • Monitor
  • Displays (integriert)
  • Verbindungen (Kabel, Bussysteme)
  • Grafiktablets -> Ein- und Ausgabe

VGA

(engl. Video Graphics Array) umfasst die Spezifikation einer analogen Schnittstelle Übertragung von Bildern zwischen Grafikkarten und Anzeigegeräten sowie Spezifikationen für hierzu geeignete Stecker und Kabel.

Video Graphics Array ist ein Computergrafik Standard, der bestimmte Kombinationen von Bildauflösung und Farbanzahl und Wiederholfrequenz definiert.

VGA Stecker Transparent
VGA Stecker