Windows aktivieren mit PowerShell

Microsoft Windows ist lizenzpflichtig. Deshalb müssen wir Windows aktivieren. Natürlich gibt es inzwischen viele verschiedene Windows Versionen. Aber alle werden mit einem Lizenz Key / Lizenz Code aktiviert. Wer so etwas automatisieren möchte, kann Windows mit PowerShell aktivieren.

kreatikar / Pixabay

 

Windows aktivieren mit PowerShell

Um Windows mit PowerShell zu aktivieren, benötigen wir ein kleines Codeschnipsel, das wir als “activateWindows.ps1” abspeichern.

Damit kann Windows 7, Windows 8, Windows 8.1 und Windows 10 aktiviert werden. Natürlich muss hierzu noch der korrekte Lizenzcode eingegeben werden 🙂

In der Zeile 1 muss statt “yourhostname” natürlich der Rechner Name eingegeben werden.

In der Zeile 2 natürlich der Key, mit dem ihr euer Microsoft Windows per PowerShell aktivieren wollt.

PAC Datei erstellen

Eine Proxy Auto-Config-Datei (PAC Datei) ist eine nicht mehr wegzudenkende Datei, vor allem bei Unternehmen. Sie ist dafür zuständig, dass Webbrowser und andere Software automatisch den passenden Proxy Server für eine gewünschte URL finden können. Diese proxy.pac kann sehr einfach, aber auch sehr komplex sein. Es gibt viele Möglichkeiten eine PAC Datei zu bauen. Wir geben hier einige Anregungen und PAC Datei Beispiele.

geralt / Pixabay

 

PAC Datei erstellen / PAC Datei Beispiele

In einem früheren Beitrag wird erklärt, wie man eine proxy.pac per IIS Webserver bereitstellen kann. Aber davor brauchen wir natürlich erst einmal eine PAC Datei. Hier zeigen wir einige Beispiele für PAC Dateien.

Information: PAC Dateien basieren auf JavaScript.

Direktes Verbinden bei lokalem Host

Hier kann der Host eine direkte Verbindung herstellen, wenn es sich um einen lokalen Host handelt. Wenn er nicht lokal ist, muss er über den Proxy gehen. Mit der Funktion isPlainHostName wird geprüft, ob der Hostname Punkte “.” enthält. Wenn der Host Punkte enthält, ist er NICHT lokal.

Direktes Verbinden bei einem Host innerhalb der Firewall

In diesem Fall kann der Host eine direkte Verbindung herstellen, wenn der Host sich innerhalb der Firewall befindet. Falls nicht, muss über den Proxy gegangen werden. Die Funktion localHostOrDomainIs wird nur für eine URL in der lokalen Domäne ausgeführt.

Direktes Verbinden bei auflösbarem Hostnamen

Wenn der Hostname aufgelöst werden kann, wird eine direkte Verbindung hergestellt. Wenn nicht -> PROXY. Die Funktion isResolvable fragt bei einem DNS Server an.

Direktes Verbinden, wenn sich der Host in einem angegebenen Subnetz befindet

Hier kann der Host sich direkt verbinden, falls er sich ein einem angegebenen Subnetz befindet. Die Funktion isInNet gibt “true” zurück, wenn die IP des Hosts mir dem angegebenen Muster übereinstimmt. Die Vorlage gibt an, welche IP Blöcke verglichen werden soll. In diesem Beispiel ist “255” eine Übereinstimmung, die “0” wird ignoriert.

Verbindungstyp anhand des Protokolls

Hier wird geprüft welches Protokoll angefordert ist. Egal ob http, https, ftp, etc. Falls keine Übereinstimmung statt findet, wird direkt verbunden. Die Funktion substring extrahiert die angegebene Anzahl von Zeichen aus der Zeichenfolge. (Beispiel: http = 5, https = 6)

Verbindungstyp anhand der Domäne

In diesem Fall wird nachgesehen, welche Domainendung die angesurfte Seite hat. die Funktion shExpMatch prüft dies.

Verbinden, wenn bestimmter Wochentag

Es kann sogar geprüft werden, an welchem Wochentag wie verbunden wird. weekdayRange definiert die Tage. Der Parameter “GMT” besagt, dass die Zeitwerte der Greenwich Mean Time und nicht der lokalen Zeitzone entsprechen.

 

Zum Schluss noch eine relativ komplexe PAC Datei, in der viele Dinge kombiniert werden und viele Werte überprüft werden. Hier wird sogar mit Variablen gearbeitet 🙂

MIME Type Liste / Übersicht

Der MIME Type oder auch Internet Media Type gibt an, welche Art von Daten gesendet werden. Dies wird für Webserver verwendet und muss bei Bedarf konfiguriert werden. Beim Microsoft IIS Webserver gibt es einen extra Reiter “MIME Typ”. Ausgesprochen bedeutet das Multipurpose Internet Mail Extension.

MTZD / Pixabay

 

MIME Type Liste / MIME Type Übersicht

Es gibt eine große Anzahl an verschiedenen MIME – Typen. Diese kann man eigentlich nicht auswendig wissen. Im folgenden ist eine Liste mir bekannter, bzw. relevanter MIME Arten für Webserver.

application/acad*.dwgAutoCAD-Dateien (nach NCSA)
application/applefile AppleFile-Dateien
application/astound*.asd *.asnAstound-Dateien
application/dsptype*.tspTSP-Dateien
application/dxf*.dxfAutoCAD-Dateien (nach CERN)
application/futuresplash*.splFlash Futuresplash-Dateien
application/gzip*.gzGNU Zip-Dateien
application/javascript*.jsserverseitige JavaScript-Dateien
application/json*.jsonenthält einen String in JavaScript-Objekt-Notation
application/listenup*.ptlkListenup-Dateien
application/mac-binhex40*.hqxMacintosh Binärdateien
application/mbedlet*.mbdMbedlet-Dateien
application/mif*.mifFrameMaker Interchange Format Dateien
application/msexcel*.xls *.xlaMicrosoft Excel Dateien
application/mshelp*.hlp *.chmMicrosoft Windows Hilfe Dateien
application/mspowerpoint*.ppt *.ppz *.pps *.potMicrosoft Powerpoint Dateien
application/msword*.doc *.dotMicrosoft Word Dateien
application/octet-stream*.bin *.file *.com *.classNicht näher spezifizierte Daten, z.B. ausführbare Dateien
application/oda*.odaOda-Dateien
application/pdf*.pdfPDF-Dateien
application/postscript*.ai *.eps *.psPostScript-Dateien
application/rtc*.rtcRTC-Dateien
application/rtf*.rtfRTF-Dateien
application/studiom*.smpStudiom-Dateien
application/toolbook*.tbkToolbook-Dateien
application/vocaltec-media-desc*.vmdVocaltec Mediadesc-Dateien
application/vocaltec-media-file*.vmfVocaltec Media-Dateien
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet*.xlsxExcel (OpenOffice Calc)
application/vnd.openxmlformats-officedocument.wordprocessingml.document*.docxWord (OpenOffice Writer)
application/xhtml+xml*.htm *.html *.shtml *.xhtmlXHTML-Dateien
application/xml*.xmlXML-Dateien
application/x-bcpio*.bcpioBCPIO-Dateien
application/x-compress*.zzlib-komprimierte Dateien
application/x-cpio*.cpioCPIO-Dateien
application/x-csh*.cshC-Shellscript-Dateien
application/x-director*.dcr *.dir *.dxrMacromedia Director-Dateien
application/x-dvi*.dviDVI-Dateien
application/x-envoy*.evyEnvoy-Dateien
application/x-gtar*.gtarGNU tar-Archivdateien
application/x-hdf*.hdfHDF-Dateien
application/x-httpd-php*.php *.phtmlPHP-Dateien
application/x-latex*.latexLaTeX-Quelldateien
application/x-macbinary*.binMacintosh Binärdateien
application/x-mif*.mifFrameMaker Interchange Format Dateien
application/x-netcdf*.nc *.cdfUnidata CDF-Dateien
application/x-nschat*.nscNS Chat-Dateien
application/x-sh*.shBourne Shellscript-Dateien
application/x-shar*.sharShell-Archivdateien
application/x-shockwave-flash*.swf *.cabFlash Shockwave-Dateien
application/x-sprite*.spr *.spriteSprite-Dateien
application/x-stuffit*.sitStuffit-Dateien
application/x-supercard*.scaSupercard-Dateien
application/x-sv4cpio*.sv4cpioCPIO-Dateien
application/x-sv4crc*.sv4crcCPIO-Dateien mit CRC
application/x-tar*.tartar-Archivdateien
application/x-tcl*.tclTCL Scriptdateien
application/x-tex*.texTeX-Dateien
application/x-texinfo*.texinfo *.texiTexinfo-Dateien
application/x-troff*.t *.tr *.roffTROFF-Dateien (Unix)
application/x-troff-man*.man *.troffTROFF-Dateien mit MAN-Makros (Unix)
application/x-troff-me*.me *.troffTROFF-Dateien mit ME-Makros (Unix)
application/x-troff-ms*.me *.troffTROFF-Dateien mit MS-Makros (Unix)
application/x-ustar*.ustartar-Archivdateien (Posix)
application/x-wais-source*.srcWAIS Quelldateien
application/x-www-form-urlencoded HTML-Formulardaten an CGI
application/zip*.zipZIP-Archivdateien
audio/basic*.au *.sndSound-Dateien
audio/echospeech*.esEchospeed-Dateien
audio/tsplayer*.tsiTS-Player-Dateien
audio/voxware*.voxVox-Dateien
audio/x-aiff*.aif *.aiff *.aifcAIFF-Sound-Dateien
audio/x-dspeeh*.dus *.chtSprachdateien
audio/x-midi*.mid *.midiMIDI-Dateien
audio/x-mpeg*.mp2MPEG-Audiodateien
audio/x-pn-realaudio*.ram *.raRealAudio-Dateien
audio/x-pn-realaudio-plugin*.rpmRealAudio-Plugin-Dateien
audio/x-qt-stream*.streamQuicktime-Streaming-Dateien
audio/x-wav*.wavWAV-Dateien

 

drawing/x-dwf*.dwfDrawing-Dateien

 

image/bmp*.bmpWindows Bitmap-Datei
image/cis-cod*.codCIS-Cod-Dateien
image/cmu-raster*.rasCMU-Raster-Dateien
image/fif*.fifFIF-Dateien
image/gif*.gifGIF-Dateien
image/ief*.iefIEF-Dateien
image/jpeg*.jpeg *.jpg *.jpeJPEG-Dateien
image/png*.pngPNG-Dateien
image/svg+xml*.svgSVG-Dateien
image/tiff*.tiff *.tifTIFF-Dateien
image/vasa*.mcfVasa-Dateien
image/vnd.wap.wbmp*.wbmpBitmap-Dateien (WAP)
image/x-freehand*.fh4 *.fh5 *.fhcFreehand-Dateien
image/x-icon*.icoIcon-Dateien (z.B. Favoriten-Icons)
image/x-portable-anymap*.pnmPBM Anymap Dateien
image/x-portable-bitmap*.pbmPBM Bitmap Dateien
image/x-portable-graymap*.pgmPBM Graymap Dateien
image/x-portable-pixmap*.ppmPBM Pixmap Dateien
image/x-rgb*.rgbRGB-Dateien
image/x-windowdump*.xwdX-Windows Dump
image/x-xbitmap*.xbmXBM-Dateien
image/x-xpixmap*.xpmXPM-Dateien

 

message/external-body Nachricht mit externem Inhalt
message/http HTTP-Headernachricht
message/news Newsgroup-Nachricht
message/partial Nachricht mit Teilinhalt
message/rfc822 Nachricht nach RFC (2)822
model/vrml*.wrlVisualisierung virtueller Welten (VRML)
multipart/alternative mehrteilige Daten; jeder Teil ist eine zu den anderen gleichwertige Alternative
multipart/byteranges mehrteilige Daten mit Byte-Angaben
multipart/digest mehrteilige Daten / Auswahl
multipart/encrypted mehrteilige Daten verschlüsselt
multipart/form-data mehrteilige Daten aus HTML-Formular (z.B. File-Upload)
multipart/mixed mehrteilige Daten ohne Bezug der Teile untereinander
multipart/parallel mehrteilige Daten parallel
multipart/related mehrteilige Daten mit Abhängigkeiten der Teile voneinander
multipart/report mehrteilige Daten / Bericht
multipart/signed mehrteilige Daten / bezeichnet
multipart/voice-message mehrteilige Daten / Sprachnachricht

 

text/comma-separated-values*.csvkommaseparierte Datendateien
text/css*.cssCSS Stylesheet-Dateien
text/html*.htm *.html *.shtmlHTML-Dateien
text/javascript*.jsJavaScript-Dateien
text/plain*.txtreine Textdateien
text/richtext*.rtxRichtext-Dateien
text/rtf*.rtfRTF-Dateien
text/tab-separated-values*.tsvtabulator-separierte Datendateien
text/vnd.wap.wml*.wmlWML-Dateien (WAP)
application/vnd.wap.wmlc*.wmlcWMLC-Dateien (WAP)
text/vnd.wap.wmlscript*.wmlsWML-Scriptdateien (WAP)
application/vnd.wap.wmlscriptc*.wmlscWML-Script-C-dateien (WAP)
text/xml*.xmlXML-Dateien
text/xml-external-parsed-entity extern geparste XML-Dateien
text/x-setext*.etxSeText-Dateien
text/x-sgml*.sgm *.sgmlSGML-Dateien
text/x-speech*.talk *.spcSpeech-Dateien

 

video/mpeg*.mpeg *.mpg *.mpeMPEG-Videodateien
video/quicktime*.qt *.movQuicktime-Dateien
video/vnd.vivo*.viv *.vivoVivo-Dateien
video/x-msvideo*.aviMicrosoft AVI-Dateien
video/x-sgi-movie*.movieMovie-Dateien

 

workbook/formulaone*.vts *.vttsFormulaOne-Dateien

 

x-world/x-3dmf*.3dmf *.3dm *.qd3d *.qd33DMF-Dateien
x-world/x-vrml*.wrlVisualisierung virtueller Welten (VRML) (veralteter MIME-Typ, aktuell ist model/vrml)

 

Es gibt natürlich noch weitere MIME Type Einträge, die gesetzt werden können. Eine weitere Liste gibt es auf iana.org.

PAC Datei mit IIS veröffentlichen

Mit einer Proxy-Auto-Config-Datei (PAC-Datei) kann ein Webbrowser automatisch den benötigten Proxyserver für eine gewünschte Adresse / URL finden. Die PAC Datei enthält JavaScript Funktionen wie “FindProxyForURL()”. Diese PAC Datei muss für den Client über eine Web Adresse erreichbar sein. Deswegen ist es hilfreich diese PAC Datei mit IIS Webservern zu veröffentlichen. Wie man solche PAC Dateien mit einem Microsoft IIS bereitstellen kann, lest ihr bei uns.

kreatikar / Pixabay

 

PAC Datei mit IIS bereitstellen

1 - Proxy PAC erstellen

Zuerst brauchen wir natürlich eine Proxy PAC Datei, die dann an die Clients veröffentlicht werden kann. Entweder ihr habt eine fertige, oder ihr erstellt eine neue. Im folgendem Beispiel ist eine einfache proxy.pac zu sehen.

Weitere PAC Datei Beispiele

2 - IIS konfigurieren

Nachdem wir die Proxy.pac fertig haben, konfigurieren wir nun den Microsoft IIS Webserver, um die PAC Datei mit IIS bereitstellen zu können.

Als erstes erstellen wir einen neuen Ordner im IIS inetpub (C:\inetpub\pac\). Dort wird nun die proxy.pac hinein kopiert.

 

Danach öffnen wir den Internetinformationsdienste (IIS)-Manager und legen dort einen neue Website an.

 

Im folgenden Fenster sieht man die Website Konfiguration. Hier lautet die Server URL “http://pac/”.
Möchte man einen FQDN (“http://pac.firma.local/”) muss man unten den Hostname entsprechend bearbeiten.

 

Jetzt kommt etwas wichtiges! Der MIME – Type für die PAC Datei. Nun bitte im IIS auf MIME-Typ klicken und einen Type hinzufügen.

 

 

Hier wählen wir für die Dateiendung natürlich “.pac” und als MIME-Typ “application/x-ns-proxy-autoconfig”

(MIME Type Liste)

3 - DNS Eintrag

Der Servername “pac” ist natürlich kein richtiger Host, somit für die Clients nicht auffindbar. Wir müssen dem DNS Server noch sagen, dass der Name “PAC” folgende IP Adresse hat. Dazu brauchen wir einen neuen DNS Eintrag. Dies sollte selbsterklärend sein.

4 - Gruppenrichtlinie

Zum Schluss benötigen wir natürlich noch eine Gruppenrichtlinie, damit unsere Clients die proxy.pac auch eingetragen bekommen. Wir öffnen unseren Domaincontroller und erstellen eine neue GPO.

Unter “Benutzerkonfiguration \ Systemsteuerung \ Interneteinstellungen” konfigurieren wir die Richtlinie.

fertig 🙂

MacOS Update mit Terminal / Befehlszeile

MacOS ist das Betriebssystem des Apple MacBook und des Apple Mac. Natürlich gibt es für das, wie auch für alle anderen Betriebssysteme Updates. Normalerweise macht man die Updates über den App Store. Wir zeigen euch, wie man ein MacOS Update mit Terminal, bzw. mit der Befehlszeile mit wenigen Schritten machen kann.

Free-Photos / Pixabay

 

MacOS Update mit Terminal

Das MacOS Update über das Terminal ist sehr einfach. Man braucht nur zwei bis drei kleine Befehle. Zuerst öffnen wir natürlich das Terminal 😉

 

1 - Updates suchen

Mit folgendem Befehl kann man sich alle verfügbaren Updates anzeigen lassen.

2 - Updates installieren

Nun wurde angezeigt, welche Updates verfügbar sind. Jetzt wollen wir die MacOS Updates natürlich installieren. Das erledigen wir mit folgendem Befehl.

3 - Neustart

Manche Updates benötigen einen Neustart. Meist sind das große Updates, wenn beispielsweise eine neue große MacOS Version erschienen ist. Einen Neustart machen wir dann mit dem Befehl.

 

Das ganze sollte so, oder so ähnlich aussehen: