Weisheiten - der Netz-Weise Blog
Um ein PDF-Dokument zu bearbeiten, gibt es eine Reihe von kostenpflichtigen Tools. Um aber einfach nur Dokumente zusammenzufügen, oder Seiten aus einem Dokument zu extrahieren, gibt es kostenlose tools. Sehr empfehlenswert ist hier PDFtk, das PDF-Toolkit. Das Tool besteht aus einer Sammlung von Kommandozeilentools sowie einer kostenlosen GUI. In die GUI kann man die Dokumente, die man bearbeiten möchte, laden, in der rechten Spalte die Seiten angeben, die man aus einem Dokument extrahieren oder zusammenfügen möchte, und mit einem Klick erhält man ein neues Dokument. Sehr praktisch, klein und einfach."
Den Batteriestatus finden Sie in der CIM-Klasse Win32_Battery. Die Abfrage erfolgt über die Commandlets GET-WMIOBJECT bzw. GET-CimInstance (ab Windows 8):
Get-WmiObject Win32_Battery | Select-Object batterystatus
bzw.
Get-CimInstance Win32_Battery | Select-Object batterystatus
Möglicher Status:
1: Die Batterie entlädt sich
2: Das Gerät hat Netzstrom - nicht erforderlicherweise ladend!
3: Batterie ist voll geladen
4: Batteriestand niedrig
5: Batteriezustand kritisch
6: Batterie lädt
7: Batterie lädt, Ladezustand hoch
8: Batterie lädt, Ladezustand niedrig
9: Batterie lädt, Ladezustand kritisch
10: nicht definiert
11: Teilweise geladen
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.
Wie Sie mit der Powershell Reg-Binary Werte in die Registry schreiben Powershell bietet ein mächtiges Kommando zum setzen von Registry-Werten: SET-ITEMPROPERTY bzw. NEW-ITEMPROPERTY. Mit Set können Sie einen bestehenden Wert überschreiben, mit New erzeugen Sie einen neuen Wert. Die Syntax ist grundstätzlich sehr simpel:
New-Itemproperty -Path "Registrierungsschlüssel" -name "Name des Werts" -Value "Zu setzender Wert" -PropertyType "Typ des Eintrags"
Als Propertytype kommen dabei in Frage:
- BINARY
- DWORD
- STIRNG
- EXPANDSTRING
- MULTISTRING
- QWORD
Die meisten der Werte sind einfach zu setzen, allerdings erweist sich Binary mitunter als widerspenstig. Wird als PropertyType "BINARY" angegeben, so muß der angegebene Wert sich auch im Binärdatentyp befinden. Eine Umwandlung kann dabei über die Konvertierungsfunktion [BINARY] erfolgen. Ein wenig trickreich wird es, wenn man Daten z.B. aus einem Regfile ausliest, weil beim Registrierungsepxort die Daten nicht als Binärdaten ausgegeben werden, sondern als HEX-Zahlen. Diese müssen vorher erst wieder ins Dezimalformat umgewandelt werden, bevor man sie ins Binärformat konvertieren kann. Eine mögliche Lösung sieht so aus:
New-ItemProperty -Path 'HKCU:\Software\' -name "EinWert" -Value (&{'c7,02,00,00'.split(",") | %{"0x"+$_}}) -PropertyType BINARY}
Kurze Erklärung: Die Hex-Werte werden in einem Script-Block aufgesplittet und per String-Addition für Powershell in einen Hex-Wert gewandelt. Diesen kann Powershell dann implizit konvertieren. Weitere Informationen zur Konvertierung finden Sie in unserem vorigen Tipp.
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.
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
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
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
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"
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:
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.
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)
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.
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?
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".
Ist ein Windows-User Mitglied zu vieler Gruppen, kann es zu Anmeldeproblemen kommen. Wir erklären warum, und wie man die Problematik angehen kann. Mit der Migration von Windows NT4 auf Windows 2000 und neuere Betriebssyteme hat Microsoft ein Feature namens SID-History eingeführt. Wird ein Benutzer migriert, so werden seine Gruppenmitgliedschaften der alten Domäne in das neue Benutzerobjekt in der neuen Domäne übertragen, so dass der Benutzer nach wie vor auf die Resourcen der alten Domäne zugreifen kann. Wird diese SID-History nicht gelöscht, kann es früher oder später zu Anmeldeproblemen kommen, da die Menge der Gruppen, die in einem Access-Token hängen dürfen (dem "Personalauweis", der beim Anmelden an jedem Windows-Recher zur Authentifizierung erzeugt wird), beschränkt ist. Es gibt 2 beschränkende Faktoren, und zwar die maximale Größe in Byte, die auf dem Rechner eingestellt ist (max. 64 KB, ab Windows Server 2012 / Windows 8 48 KB) und die maximale Anzahl der Gruppen, in denen ein Konto Mitglied sein darf (1015). Die SID-History kann komplett oder auch punktuell gelöscht werden. Werkzeuge hierfür bietet z.B. Powershell. Einen genauen Artikel von Ashley McGlone, der zeigt, wie das mit Powershell zu bewerkstelligen ist, findet sich hier:
Hintergrundinfos zum Thema sowie eine Beschreibung, wie Sie einzelne SID´s filtern können, gibt es hier:
http://blog.joeware.net/2011/11/20/2338/
By accepting you will be accessing a service provided by a third-party external to https://netz-weise-it.training/