netzweise2

Gruppenrichtlinien mit WMI-Filtern auf Windows 10 Feature Releases (Builds) filtern

Mehr zum Thema Gruppenrichtlinien finden Sie auch in meinem Buch Gruppenrichtlinien in Windows 10 und Windows Server 2019, das voraussichtlich im Oktober in der Neuauflage erscheint.

Jedes Windows 10 Feature-Release bringt neue Funktionen und neue Gruppenrichtlinien mit. Welche Richtlinien in welcher Version neu dazugekommen sind, können Sie im Group Policy Settings Reference-File nachschauen, das Microsoft zum Download anbietet.

Manche Richtlinien sind leider nicht wirklich kompatibel zueinander. Z.B. hat Microsoft mit dem Feature Release 1607 die Nutzungszeit eingeführt und auf 12 Stunden festgelegt. Ab 1703 sind es aber maximal 18 Stunden. Sie können die Nutzungszeit auch per Gruppenrichtlinie festlegen, aber die Maximalwerte von 1703 kann 1607 nicht verarbeiten. Die Lösung sind zwei Gruppenrlichtlinienobjekte (GPOs), die per WMI-Filter "Ihre" Version aussortieren.

Aber auf welchen Wert kann man filtern? Die offizielle Nummer des Feature-Release kann man per WMI-Filter nicht erfragen. Stattdessen kann man aber die Build-Nummer verwenden, die sich mit jedem Feature-Release ändert. Eine Liste der aktuellen Build-Nummern finden Sie bei Wikipedia unter https://en.wikipedia.org/wiki/Windows_10_version_history. In der ersten Tabelle finden Sie in der Spalte Builds die jeweilige Build-Nummer.

Per WMI ermitteln Sie die Build-Nummer über die Klasse Win32_OperatingSystem und die Eigenschaft BuildNumber.

Continue reading
  4200 Hits

Windows 10 Übermittlungsoptimierung (Delivery Optimization) erklärt

Dies ist ein Auschnitt aus der Neuauflage meines Gruppenrichtlinien-Buchs "Gruppenrichtlinien in Windows Server 2019 und Windows 10, das vermutlich im Oktober 2018 erscheinen wird

Übermittlungsoptimierung oder Delivery Optimiziation (DO) ist ein neues Feature, das Microsoft mit Windows 10 eingeführt hat, und das die Menge an Daten, die von Windows Update und dem Windows Store heruntergeladen werden, massiv reduziert. Das Verfahren basiert auf Peer To Peer Technologie, Clients teilen bereits heruntergeladene Daten also mit anderen Clients (Peers) im gleichen Netzwerk (oder auch über das Internet). Dafür werden Dateien in Blöcke aufgeteilt, gehashed (es wird eine eindeutige ID erzeugt), und dann Blockweise verteilt anstatt als Monolithische Datei. Damit ein Client tatsächlich nur Original-Daten erhält, sind die Dateien digital signiert, der Client kann also nach Empfang der kompletten Datei prüfen, ob er ein unverändertes Update erhalten hat.

Wenn ein Client ein Update von einem Update-Server herunterladen möchte und die Übermittlungsoptimierung aktiviert ist, erhält er vom Update-Service über die URL *.do.dsp.mp.microsoft.com eine Liste von Rechnern, die bereits Blöcke der Update-Datei bezogen haben. Auf Windows 10 Pro und Enterprise ist die Einstellung dabei standardmäßig so konfiguriert, dass ein PC Daten nur von Peers aus seinem eigenen lokalen Netzwerk empfängt (s. Bild 1.2). Der Update-Service ermittelt über die IP des sich verbindenden Rechners (normalerweise die öffentliche IP des Routers oder Proxys, über den der Client sich verbindet), mit welchen Peers er Daten austauschen darf. Zusätzlich greift der Dienst auf die AD-Standortdaten zurück oder, wenn diese nicht verfügbar sind, auf die Domäne. Man kann diese automatische Gruppierung aber auch überschreiben und manuell festlegen, welche Clients miteinander Daten austauschen dürfen, indem man eine Group-ID festlegt. Die Group-ID wird dann als einziges Kriterium verwendet, um zu ermitteln, welche Clients Daten austauschen dürfen. Das ist wichtig, wenn man bereits mit IPv6 arbeitet (alle Clients haben eine öffentliche IP-Adresse) oder der Zugriff nach außen über Proxy-Arrays oder Load-Balancing stattfindet, so dass ein Standort nicht über eine eindeutige ID verfügt. Die Group-ID ist eine GUID (Globally Unique Identifier), die man z.B. mit dem Powershell-Cmdlet New-GUID zufällig generieren kann.

Die Übermittlungsoptimierung arbeitet höchst effizient und teilt Daten deutlich schneller als die Alternative Branchcache. Sind die Daten erst einmal im lokalen Netzwerk, dauert es nur Sekunden, bis Clients lokale Peers als Quelle verwenden können. Die Daten werden dann mit voller lokaler Netzwerkgeschwindigkeit geteilt. Der Übermittlungsoptimierungsdienst verwendet hierfür Port 7680 im lokalen Netzwerk, für den Datentausch mit Internet-Peers Port 3544 (Teredo-Protokoll, eine IPv6-Übergangstechnologie).

Übermittlungsoptimierung ist vor allem für große Dateien effektiv und kostet außerdem Client-Ressourcen, weshalb Branch-Cache standardmäßig erst aktiviert wird, wenn der Client mindestens über 4 GB RAM und 32 GB freien Speicherplatz auf dem Cache-Laufwerk verfügt. Alle diesen Daten können über Gruppenrichtlinien angepasst werden, die Sie in der Computerkonfiguration unter ADMINISTRATIVE VORLAGEN - WINDOWS-KOMPONENTEN - WINDOWS UPDATE - ÜBERMITTLUNGSOPTIMIERUNG finden.

Continue reading
  8464 Hits

Windows Apps von Windows entfernen - vor und nach der Installation

Windows 10 kennt zwei verschiedene Anwendungstypen - die klassischen Anwendungen und Apps. Apps gibt es seit Windows 8, und sie sind vom App-Konzept von Apple und Google übernommen. Apps unterscheiden sich in einigen grundlegenden Dingen von Anwendungen:

  • Apps lassen sich von jedem Benutzer bereitstellen - es werden keine administrativen Berechtigungen benötigt
  • Eine App wird normalerweise für einen Benutzer bereitgestellt, nicht für den Computer
  • Das App-Berechtigungskonzept bietet mehr Sicherheit, da jeder App der Zugriff auf jedes Gerät explizit gesperrt werden kann.
  • Apps haben keinen Installer, sondern werden aus dem Microsoft Store oder per Sideloading installiert

 

Zumindest der letzte Punkt könnte sich ändern, denn Microsoft hat ein neues Format für die automatische Installation entwickelt, nämlich msix. Trotzdem möchte nicht jeder Administrator Apps in seiner Umgebung bereitstellen. Um die bereits mit Windows mitgelieferten Apps loszuwerden, muß man allerdings einige konzeptuelle Dinge verstehen:

Grundsätzlich werden Apps pro Benutzer installiert. Man spricht von Appx-Paketen. Um Appx-Pakete zu verwalten, können Sie Powershell-Cmdlets verwenden:

  • Get-AppxPackage listet installierte Apps auf
  • Remove-Appxpackage entfernt installierte Apps
  • Get-AppxLog zeigt das Installations- und Wartungslog für Apps an.

 

Continue reading
  6858 Hits

Ein niedrig priveligiertes Konto zum Entsperren von Domänenbenutzern anlegen und damit Benutzer-Sperren retten

Das Sperren von Benutzerkonten ist ein bewährtes Mittel, um Brute-Force-Attacken gegen Kennwörter im Unternehmen zu verhindern. Allerdings empfehlen sowohl Microsoft als auch das BSI inzwischen, Kontosperrungen nicht zu verwenden, da eine Malware oder ein Hacker durch das Sperren sämtlicher Benutzerkonten ein Netzwerk komplett lahm lagen kann - man spricht auch von einem denial of Service.

Die alternative Empfehlung lautet, lange Kennwörter in Form von Passphrases und am Besten Multifaktor-Authentifizierung einzusetzen. Grundsätzlich ist das ein vernünftiger Ansatz, aber leider scheitert er in vielen Netzwerken immer noch an der Praxis. Zum einen muß man den Benutzern erklären, dass Sie jetzt lange komplexe Kennwort-Sätze verwenden sollen, zum Anderen muß man mit dieser Variante auch für eine ordentliche Anmeldungs-Überwachung sorgen, da ein großangelegter Angriff auf die Benutzerkennwörter sonst gar nicht auffällt. Mit aktivierter Kennwortsperrung merkt man normalerweise sehr schnell, dass etwas nicht stimmt.

Mein pragmatischer alternativer Ansatz, um die Kontosperrungen weiterhin nutzen zu können, arbeitet mit automatisierten Prozessen und Powershell. Denn mit Powershell ist es sehr schnell und einfach möglich, Benutzerkonten zu entsperren. Verwenden Sie dafür die Cmdlets Search-ADAccount und Unlock-ADAccount. Search-ADAccount kann mit dem Parameter -Lockedout alle gesperrten Benutzerkonten in einem Rutsch auflisten, Unlock-ADAccount kann sie  direkt entsperren. Mit Hilfe des Cmdlets Out-Gridview können Sie sich auch gleich noch eine grafische Benutzeroberfläche einrichten, um nur ausgewählte Benutzer zu entsperren.

Search-ADAccount -Lockedout | Out-Gridview -Passthru | Unlock-ADAccount

Damit wird das Entsperren nach einem Denial of Service zu einem Kinderspiel. Allerdings muß noch ein zweites Problem gelöst werden. Wenn Sie nämlich das Standard-Administratorkonto auf der Domäne deaktivieren, haben Sie eventuell gar keine Möglichkeit mehr, die Domäne zu entsperren, weil Ihr Administrator auch gesperrt ist. Deswegen legen Sie sich nun ein niedrig privilegiertes Konto an, dass neben dem Entsperren von Benutzern in der Domäne nichts kann, aber nicht gesperrt wird.

Continue reading
  7374 Hits

Computerkennwörter, der Secure Channel und die Fehlermeldung „Die Vertrauensstellung zwischen dieser Arbeitsstation und der primären Domäne konnte nicht hergestellt werden”

Wenn ein Domänen-Computer gestartet wird, sucht er im Netzwerk zuerst nach einem Domänen-Controller, indem der den DNS-Server nach den LDAP-Service-Records seiner Domäne fragt. Anschließend versucht er, mit dem Domänencontroller einen Secure Channel, also eine verschlüsselte, sichere Datenverbindung aufzubauen. Dies geschieht über einen RPC Netlogon. RPC ist ein Challenge-Response-Protokoll, bei dem der Client und der Server sich gegenseitig einen zufälligen 64 Bit-Zufallswert, den Client- bzw. Server Challenge, zuschicken, aus denen mit Hilfe des Computerkennworts (wegen gegenseitige Authentifizierung sowohl auf dem Client als auch auf dem Server) ein Session-Key berechnet wird. Das funktioniert, weil sowohl der Client als auch der Domänencontroller über das Computerkennwort des Clients verfügen. Wenn der Domänencontroller und der Client nicht das gleiche Kennwort gespeichert haben, schlägt die Erstellung des Secure Channels allerdings fehl und dem Client wird die Verbindung zum Domänencontroller verweigert. Stattdessen wird eine Fehlermeldung angezeigt, die vermutlich jeder Administrator schon einmal gesehen hat: „The trust relationship between this workstation and the primary domain failed” bzw. "Die Vertrauensstellung zwischen dieser Arbeitsstation und der primären Domäne konnte nicht hergestellt werden".

Wie und wo wird das Computerkennwort verwaltet

Der Client generiert beim Aufnehmen in die Domäne ein komplexes Kennwort, dass er ab Windows 2000 alle 30 Tage automatisch ändert. Da Computerkonten sind von den Kennwortrichtlinien der Domäne ausgenommen sind, können Sie auch nicht gesperrt werden, wenn sie länger offline sind.
Die Kennwortänderung führt der Client zuerst zuerst lokal aus. Danach ändert er sein Kennwort im AD. Schlägt die Aktualisierung im AD fehl, setzt er wieder das alte Kennwort. Das aktuelle Kennwort und sein Vorgänger werden im geschützten Kennwortschlüssel HKLM\SECURITY\Policy\Secrets\$machine.ACC gespeichert. Im AD sind die Kennwörter in den Attributen unicodepwd und lmpwdHistory abgelegt.
Ob und wie oft der Client sein Kennwort ändert, kann in der Systemregistrierung unter HKLM\SYSTEM\CurrentControlSet\Services\NetLogon\Parameters konfiguriert werden. Für die Konfiguration sind drei Schlüssel verantwortlich:

MaximumPasswordAge: Der Eintrag MaximumPasswordAge legt fest, nach welchem Zeitraum der Netlogon-Dienst versucht, das Kennwort zu ändern. Der Standardwert ist 30 (Tage).

ScavengeInterval: Das Scavengeinterval legt fest, wie häufig der Computer prüfen soll, ob das maximale Kennwortalter erreicht ist. Der Standardwert beträgt 900 (Sekunden), also 15 Minuten. Der Eintrag ist nicht in der Registry hinterlegt, kann hier aber geändert werden. Der Typ des Eintrags ist REG_DWORD.

DisablePasswordChange: Sie können die Kennwortänderung des Computers mit diesem Schlüssel auch komplett deaktivieren, indem Sie den Wert auf 1 setzen.

Continue reading
  15296 Hits

Office 365 - Email Weiterleitung einrichten

Um unter Office 365 eine Email-Weiterleitung einzurichten, melden Sie sich unter Outlook.office365.com mit Ihrem mail-Konto an. Klicken Sie oben rechts auf das kleine Zahnrad-Symbol, um in die Einstellungen zu kommen. Wählen Sie "Optionen" aus, und im folgenden Fenster im rechten Bereich "Ihre emails weiterleiten".

  3061 Hits

Laufzeit der Gruppenrichtlinien-Ausführung bestimmen

Wenn eine Windows-Anmeldung lange dauert, könnte dies an den abzuarbeitenden Gruppenrichltinien liegen. Lesen Sie hier, wie sie die Laufzeit der Gruppenrichtlinien bestimmen können. Die Anmeldung eines Clients kann mitunter sehr, sehr lange dauern. Eine der möglichen Ursachen für eine verzögerte Anmeldung bilden die Windows Gruppenrichtlinien.  Grundsätzliche Kandidaten für verzögerte Anmeldungen sind:

  • Synchrone Verarbeitung (Alle Gruppenrichtlinien müssen komplett verarbeitet sein, bevor dem Benutzer die Arbeitsumgebung zur Verfügung gestellt wird)
  • Anmeldescripte
  • aufwändige WMI-Filter

 

Um die Abarbeitungszeit von Gruppenrichtlinien zu bestimmen, gibt es zum einen von Daren Mar-Elia (dem gpo-guy) das Kommandozeilenprogramm gptime.exe, dass die für die letzte Gruppenrichtlinienverarbeitung benötigte Zeit pro gpo anzeigt. Für eine ausführliche Analyse bietet Microsoft das Performance Toolkit im Windows ADK (Assessment and Deployment Kit) an. Das ADK kann man bei Microsoft herunter laden. Eine gute Einführung in die Analyse des Startvorgangs mit dem ADK bietet die Aufzeichnung der Teched-Session How many coffess can you drink while Windows 7 boots?   

  7031 Hits

SQL-Server Fehleranalyse mit sp_blitz

Der SQL-Server MVP Brent Ozar hat ein eine gespeicherte Prozedur names sp_blitz zur Verfügung gestellt, mit der ein SQL-Server im Schnelldurchgang auf gängige Probleme überprüft werden kann. SP_Blitz ist kostenlos, kann direkt auf dem SQL-Server implementiert oder über ein kleines Programm aus dem Internet heruntergeladen und ohne Installation ausgeführt werden. Verwenden sie das aufführbare Tool, wird auch gleich ein pdf generiert. Die Dokumentation mit Problembeschreibungen und die möglichen Schritte zur Behebung finden Sie ebenfalls Brent Ozars Website. Ebenfalls auf der Website finden Sie auch sp_blitzIndex zur Analyse von Indexen. 

  2984 Hits

Unix/MySQL Timestamp in Datumswerte mit Powershell umwandeln

In Unix und MySQL werden Datumswerte oft als Timestamps angegeben. Ein Timestamp ist eigentlich ein Datums/Zeitwerte, der aber als Integer gespeichert ist und die Sekunden ab dem 1.01.1970 angibt. Diese Zeitzählung wird auch als "Epoch date" bezeichnet.

Die Umwandlung in einen Datumswert in Powershell ist eigentlich recht einfach, da uns Powershell alle zur Umrechung notwendigen Funktionen zur Verfügung stellt. Das Datum des 1.1.1970 liefert uns get-Date:

Get-Date '1/1/1970'

Get-Date liefert ein Objekt vom Type Datetime zurück. Alle Objekte vom Typ Datetime besitzen eine Reihe von Methoden für die Datumsmanipulation. Wir benötigen hier die Methode AddSeconds() zum Aufaddieren von Sekunden:

$Timestamp = 1464257993
(Get-Date '1/1/1970').AddSeconds($Timestamp)

Continue reading
  11261 Hits

SQL Server Diagnostic Information Queries

Eine Reihe von Standard-Abfragen, um SQL-Server Problemen auf die Schliche zu kommenMan kann sich SQL-Server Scripte zur Performance Analyse selber schreiben. Oder man kann auf Standard-Scripte zurück greifen. Glen Berry hat mit SQL-Server 2005 angefangen, die wichtigsten Performance-Daten in einem Script zusammen zu fassen. Seitdem werden diese Scripte für alle Versionen von SQL-Server ab Version 2005 regelmässig aktualisiert. Die Version von August 2013 ist derzeit die aktuellste. Mitch Wheat hat für das Script eine GUI gebaut, die einem das einfügen in die von Glen Berry vorgesehenen Excel-Vorlagen abnimmt. Startet man die GUI, braucht man nur den Pfad zu den Diagnostic Information Queries angeben, und die GUI erzeugt für alle Datenbanken, die man angibt, einen Report, und das ganze im Excel Format.Glen Berrys SQL Server Performance BlogGlen Berrys BlogMitch Wheats Blog

  2547 Hits

Enhanced Session Mode -> Verbinden per RDP mit Hyper-V VMs

Mit Windows Server 2012 R2 kommt endlich ein Feature, das vermutlich schon viele von uns schmerzlich vermisst haben. Der enhanced Session mode erlaubt es, auch ohne aktive Netzwerkverbindung Virutelle Maschinen vom Host-Server aus per RDP zu steuern. Dafür hat Microsoft eine Anpassung am VMBus vorgenommen, der die Kommunikation des Hosts mit der Maschine durchführt. Welche Vorteile bringt das?

  • Cut and Paste auf dem VM-Host
  • dynamische Anpassung der Auflösung
  • Mappen von USB-Laufwerken vom Host zum Guest
  • Audio-Umleitung

 

Während das Fehlen dieser Features auf dem Server noch zu verkraften ist, ist das bei Windows 8 schon als Virtualisierungs-Host schon deutlich störender. Um den Enhanded Session Mode zu nutzen, wird als Host und als Gast-Betriebssystem(!) Windows 8.1 und Windows Server 2012 R2 benötigt - ältere Betriebssysteme werden nicht unterstützt! Unter Windows 8.1 ist der Enhanced Session Mode auf dem Hyper-V Host standardmäßig aktiv, unter Windows Server 2012 muss er in den Hyper-V-Einstellungen des Hosts (Hyper-V Einstellungen -> Erweiterter Sitzungsmodus) aktiviert werden. Eine ausführliche Beschreibung finden Sie bei IT Central Station.

  3592 Hits

Öffentliche Ordner in Office 365 anlegen

Office 365 unterstützt auch Exchange Öffentliche Ordner, die seit Exchange 2013 im Übrigen wieder offiziell unterstützt werden. Microsoft hat dafür die Technik, die hinter öffentlichen Ordnern steckt, komplett überarbeitet und baut öffentliche Ordner jetzt auf normalen Mailboxen auf. Zum einrichten öffentlicher Ordner klicken Sie im Office 365-Administrationsmenü auf "Administrator > Exchange" und wählen sie dann im linken Seitenmenü "Öffentliche Ordner" aus. Bevor Sie den ersten Öffentlichen Ordner anlegen können, benötigen Sie ein Postfach, dass die öffentliche Ordner Struktur aufnimmt. Dafür klicken oben rechtes auf "Postfächer für öffentliche Ordner", dann auf das +-Symbol, und geben einen Namen für das Postfach ein. Anschliessend können Sie die über den Menüpunkt "Öffentliche Ordner" neue öffentliche Ordner anlegen und email-aktivieren. New Feature - Public Folders in Office 365 Preview

  9956 Hits

Hintergrundbild des MDT PE-Clients ändern

Ändern Sie den Hintergrund, den Windows MDT PE beim Booten beim Booten anzeigtWenn Sie das Microsoft Deployment Toolkit zur Installation Ihrer Clients und Server nutzen, kommt früher oder später der Wunsch auf, das Hintergrundbild anzupassen, dass Windows PE beim Start anzeigt. Dies ist sehr einfach möglich. Das Hintergrundbild holt sich das MDT beim Erstellen des PE-Clients aus dem MDT Installationsverzeichnis (nicht aus dem Deployment-Share!). Das Installationsverzeichnis liegt standardmässig im Windows Programme-Verzeichnis (%Program Files%) unter Microsoft Deployment Toolkit. Im Unterverzeicnis "Samples" befindet sich die Background.bmp. Benennen Sie diese um und ersetzen Sie sie durch das neue Bild.Der Pfad kann auch in den Eigenschaften des Deployment-Shares im Reiter "Windows PE" unter "Custom backupground bitmap file" angegeben werden. Vergessen Sie nicht, nach dem Ersetzen des Bildes das PE-Image einmal neu zu erstellen, indem Sie in den Eigenschaften des Deployment Shares "Update Deployment Share" auswählen.

  4456 Hits

Office automatisch aktivieren

Office 2010 kann man automatisch installieren, indem man einen administrativen Installationspunkt erzeugt und dann ein msp-Paket erzeugt. Im msp-Paket kann man auch festlegen, dass Office 2010 beim ersten Start eine automatische Aktivierung durchführt. Dafür legen Sie im Menüpunkt Setup-Properties eine neue Eigenschaft "AUTO_ACTIVATE" mit dem Wert 1 an. Achten Sie darauf, dass die Auto-Aktivierung nur 1 mal durchgeführt wird! Wenn Sie also die Auto-Aktivierung testen, indem Sie z.B. Word starten, und Windows dann per Sysprep zurücksetzen, wird beim ersten Start von Office wieder ein Aktivierungsfenster gestartet!

Links:

How to install Office 2010 with a MAK key and have it perform an automatic activation attempt after install (Part Deux)

  3793 Hits

Office 2010 automatisch installieren

Bereits seit Office 2000 kommt Office als MSI-Paket. MSI-Pakete beinhalten Informationen darüber, wie der Microsoft Installer eine Installation durchführen soll. Um sich die Informationen eine MSI-Pakets anzeigen zu lassen, bietet Mircosoft z.B. den MSI-Editor Orca aus dem Microsoft Installer SDK an, der allerdings inzwischen nicht mehr offiziell unteratützt wird. Um die Installation eines MSI-Paketes anzupassen, benötigen Sie ein MSP-Paket, das die Einstellungen einer MSI-Datei überschreiben kann.

Mit Office 2010 können Sie eine msp-Datei mit dem Office Customization Tool erstellen. Wenn Ihr Office 2010 dieses nicht bereits enhält (als Bestandteil z.B. eines Enterprise-Agreement), können sie die notwendigen Komponenten bei Microsoft herunter laden, zusammen mit den Administrativen Vorlagen für Office 2010, mit denen Sie Office 2010 per Gruppenrichtlinien steuern können. Um das Office Customization Tool in Office zu integrieren, kopieren Sie die Ordner Admin aus den Unterordnern AdminTools 32 Bit bzw. AdminTools 64 Bit in die jeweiligen Ordner x86 bzw. x64 der Office Installationdateien. Jetzt können Sie über setup /admin direkt das Office Customization Kit aufrufen und die Installationeinstellungen anpassen. Anschliessend speichern Sie Ihre Änderungen einfach als msp-Datei in den Ordner Updates im jeweiligen x86 bzw. x64-Ordner. Wenn Sie nun ein Setup starten, wird die Installation vollautomatisch durchgeführt. Haben Sie mehrere msp-Dateien erstellt, können Sie setup über /adminfile anweisen, welche msp-Datei zur Installation verwendet werden soll.

Alternativ können Sie übrigens auch eine config.xml zur Konfiguration von Office-Installation verwenden.

Links:

Deploy Office 2010 by running setup from a network share
Office Customization Tool in Office 2010
Config.xml file in Office 2010"

  2951 Hits

Office Dateiformat / File Format Choice deaktivieren

 Beim ersten Start von Office 2010 erscheint ein Auswahlfenster, welches abfragt, ob das Standard-Microsoft XML-Format zum Speichern von Dokumenten verwendet werden soll, oder das Open Office Format. Diese Abfrage ist einer EU-Auflage geschuldet und läßt sich über einen Registry-key deaktivieren. Erzeugen Sie hierfür einen neuen Schlüssel "ShownFileFmtPrompt" unter "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\General" vom Typ Reg_Dword, den Sie auf 0 setzen.

Schlüssel: HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\General
Value: "ShownFileFmtPrompt",Reg_Dword,0

  3139 Hits

Powershell und Regular Expressions (Regex)

Es gibt in Powershell die Möglichkeit, nicht nur mit einfachen Wildcards zu suchen (*,?,...), sondern Powershell unterstützt an vielen Stellen auch Regular Expressions. Wem das nicht reicht, der kann sogar noch auf das .net-Framework zurück greifen, um Reguläre Ausdrücke zu suchen. Regular Expressions sind sehr mächtig, aber leider auch ziemlich komplex. Ein gutes Tutorial gibt es z.B. hier: http://www.regular-expressions.info/tutorial.html

Wenn man nicht regelmässig mit Regular Expressions arbeitet, gibt es von Sapien aber einen guten, kostenfreien Regex-Editor, der einem über die größten Hürden hilft. Hier eine kleine Einführung in die Community-Preview des Power Regex mit Download-Link (Eine Registrierung ist notwendig). Und noch eine gute Einführung in das Thema: Regular Expressions in Perl und Powershell

  4093 Hits

Windows 8 Startanimation deaktivieren

Windows 8 startet für jeden neuen Benutzer eine Videoeinführung. Das Starten dieses Videos kann über verschiedene Mechanismen unterdrückt werden.

Per Registry Key: Legen Sie unter dem Schlüssel HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon einen Wert EnableFirstLogonAnimation vom Typ REG_DWORD an. EnableFirstLogonAnimation muß auf 0 gesetzt werden.

Per Gruppenrichtlinie: Computerconfiguration > Policies > Administrative Templates > System > Logon Hier setzen Sie "Show First Sign-in animation" auf "Disabled" Windows IT Pro: Stop the Windows 8 Intro Animation for Users Setzen des Registry-Keys über die unattend.xml

  2574 Hits

Hex, Binary und Char mit Powershell

Powershell bietet eine Reihe von mächtigen Konvertierungsoptionen, um Datentypen ineinander umzuwandeln. Normalerweise reicht es, die Konvertierungsfunktion [Datentyp[]] vor den umzuwandelnden Wert zu schreiben. Um Beispielsweise einen String in ein Array zu konvertieren, reicht folgende Befehlszeile:

[BYTE[]]"Netz-Weise"

Als Ergebnis erhalten Sie die einzelnen Buchstaben. Auf die gleich Weise können Buchstaben in seinen ASCII-Code umwandeln:

[BYTE[]][CHAR[]]"Netz-Weise

Diese Kommandozeile gibt als Ergebnis die ASCII-Represäntation zurück. Dabei wird erst per [CHAR[]] der String in seine Einzelbuchstaben konvertiert, und danach konvertiert [BYTE[]] die Einzelbuchstaben in Ihre ASCII-Codes (Byte-Reräsentation). Powershell kann intern bereits mit Hexadezimalzahlen arbeiten. Das ist z.B. deshalb spannend, weil die Registry beispielsweise Byte-Werte als Hex-Codes speichert (Reg-Binary-Werte). Um eine Hex-Zahl in eine Dezimalzahl umzuwandeln, muß man vor die Zahl nur eine 0x schreiben, schon konvertiert Powershell automatisch. Alternativ klappt das auch mit einer .net-Methode:

[Int]::Parse($Hexzahl, [System.Globalization.NumberStyles]::HexNumber)

$Hexzahl ist hier eine Variable, die den Hexwert beinhaltet. Um eine Reihe von Hexzahlen in Binärwerte umzuwandeln, bietet sich daher folgende kurze Kommandozeile an:

"68,02,00,00,21".split(",") | foreach-object {`"0x`"+`$_}

"68,02,00,00,21" ist ein String, der Inhalt sind 5 Hexcodes. Wir splitten den String mit der Split-Funktion in Einzelwert, und stellen mit der Pipeline vor jede Einzelzahl per Stringverkettung ein "0x". Die Ausgabewerte werden von Powershell automatisch als Hex-Werte erkannt und umgewandelt.

Continue reading
  8319 Hits

Konverter-Script von .reg zu Powershell

Dieses kleine Script nimmt eine .reg-Datei (Export aus der Registry) und erzeugt daraus ein Reihe von Powershell-Kommandos, die die Einträge in der Registry vornehmen. Der Vorteil ist, dass man z.B. eine komplette Installation in einer Powershell-Datei verpacken kann, ohne explizit noch einmal reg.exe aufrufen zu müssen. So ist z.B. der Export der Dateien einfacher, da das Script "all in one" ist. Funktionsweise/Aufruf: Das Script implementiert eine Funktion convertfrom-reg. Wenn das Script aufgerufen wird, wird nur eine Funktion angelegt. Diese kann dann in der Powershell mit convertfrom-reg -regfile "Pfad zur Registrierungsdatei" aufgerufen werden. 

  3168 Hits