Freitag, 28. Mai 2021

Windows 10 - Features aktivieren

 


Windows 10 bietet ein paar Features, die Microsoft seltsamerweise nicht allen ausliefert. So wäre beispielsweise das Banner in den Einstellungen ❶ oder "Neuigkeiten und interessante Themen" in der Taskleiste ❷.

Ich habe noch nicht herausgefunden, wonach Microsoft bemisst, wer genau diese Features sehen und benutzen darf. Ich habe mehrere Rechner mit dem identischem Konto laufen, und da ist es komplett unterschiedlich.

Aber man kann nachhelfen:
  1. ViVe herunterladen, entpacken
  2. CMD mit Admin-Rechten starten
  3. ViVeTool mit entsprechenden Parametern aufrufen
  4. Windows neustarten
Welche Parameter gelten?
  1. Für das Banner in den Einstellungen:
    ViVeTool.exe addconfig 18299130 2

  2. Für die News in der Taskleiste:
    Vivetool.exe addconfig 27368843 2
    Vivetool.exe addconfig 27371152 2
    Vivetool.exe addconfig 30213886 2
    Vivetool.exe addconfig 29947360 2
    Vivetool.exe addconfig 29990934 2


    (ja alle 5 sind notwendig)
Dabei sind drei Schalter zum Parameter möglich:

0 = Standard
1 = Deaktiviert 
2 = Aktiviert 

sowie 8 Befehle:
queryconfig Listet vorhandene Feature-Konfiguration(en) auf
querysubs Listet bestehende Feature-Nutzungsbenachrichtigungs-Abos auf
changestamp Druckt den aktuellen Änderungsstempel des Feature Stores
addconfig Fügt eine Feature-Konfiguration hinzu
delconfig Löscht eine Feature-Konfiguration
addsub Fügt eine Benachrichtigung über die Nutzung eines Feature-Abos hinzu
delsub Löscht eine Benachrichtigung über die Nutzung eines Funktionsabos
notifyusage Löst eine Benachrichtigung über die Verwendung von Funktionen aus

Welche Parameter gibt es noch?

Rafael Rivera stellt regelmäßig eine Liste mit Parametern zusammen, die er auf GitHub veröffentlicht.


Weblinks: 





Freitag, 26. März 2021

SQL-Abfrage direkt in Datei ausgeben

Problem: Ich möchte eine Abfrage direkt in eine Datei ausgeben. 

Nutzer von MySQL oder MariaDB werden müde lächeln - da gibt es entsprechende Befehle, die das tun. Im MSSQL habe ich keine gefunden. Es gibt aber Lösungen:

Lösung 1: Im SSMS selbst

Im SSMS kann ich das einstellen: Unter Extras, Optionen, Abfrageergebnisse kann ich einstellen, dass direkt in eine Datei ausgegeben wird:


Das ist OK, hat aber zwei Nachteile: 

  1. Die Einstellung gilt nun für alle Abfragen im SSMS
  2. Es wird "nur" eine .RPT - Datei erstellt

Ich würde aber gern nur diese eine Abfrage als Datei ausgeben...


Lösung 2: SQLCMD

Der Befehl SQLSCMD in eine Batch eingebunden könnte in etwa so aussehen:

SQLCMD -S "SERVER\INSTANZ" -U BENUTZER -P PASSWORT -d DATENBANK -i "C:\PFAD\ZUR\ABFRAGE\ABFRAGESKRIPT.sql" -o "C:\PFAD\ZUM\ERGEBNIS\ERGEBNIS.csv" -W -w 1024 -s";"

Die Schalter -S -U -P und -d sind klar.

-i zeigt auf die Abfrage, und -o auf Ausgabe.
-W entfernt Leerzeichen in Spalten
-w verlängert die Ausgabe pro Zeile (die sonst nach 80 Zeichen endet) hier auf 1024 Zeichen.
-s definiert den Seperator zwischen den Spalten

Denkbar ist noch -u, um den Zeichensatz der Ausgabe zu beeinflussen.

Das funktioniert gut. Allerdings wurden bei mir Ergebnisse aus Feldern mit dem Typ MONEY seltsamerweise mit sinnfreien Nullen aufgefüllt, was das Ergebnis unbrauchbar gemacht hat. Ich habe auch nichts gefunden, das erklärt, warum das so ist. Seltsam, seltsam...

Es muss also eine andere Lösung her.

Lösung 3: PowerShell

Das Pendant zu SQLCMD im PowerShell ist Invoke-Sqlcmd. Der Code der .PS1-Datei sieht dann folgendermaßen aus:

#Mandant_Anpassung
$SQLdb = "DATENBANK"
$ExpFile = "C:\PFAD\ZUR\AUSGABE\Export.csv"


#Kunden_Anpassung
$SQLServer = "SERVER\INSTANZ"  
$uid ="BENUTZER"
$pwd = "PASSWORT"
$ImpFile = "C:\PFAD\ZUR\ABFRAGE\ABFRAGE.sql"


#Befehl
Invoke-Sqlcmd -ServerInstance $SQLServer -Database $SQLdb -UserName $uid -Password $pwd -Inputfile $ImpFile | Export-Csv $ExpFile -Delimiter ";" -NoTypeInformation -Encoding UTF8

Seltsamerweise ist die Standard-Ausgabe von Invoke-Sqlcmd zwar "hübsch", aber nicht weiterverarbeitbar, weil nicht im Tabellenformat. Dementsprechend sind vor allem folgende Schalter unablässig:

-Delimiter ";"  - definiert den Seperator
-NoTypeInformation - lässt sinnfreie Informationen der Ausgabe weg.
-Encoding UTF8 - sorgt dafür, dass der richtige Zeichensatz verwendet wird.

Nun erfolgt die Ausgabe mit korrekten und nicht nachformatierten Werten.

Freitag, 20. November 2020

Remotedesktop-Anmeldungen regulieren und kontrollieren (2)

Wie können wir (ohne das aus meiner Sicht extrem unübersichtliche Ereignisprotokoll durchzuwuseln) rausbekommen, wer sich wann am Server angemeldet hat?

Benutzer protokollieren

Ich benutze dafür ein Skript, was einen Zeitstempel und den Benutzernamen in eine Datei schreibt.

Das Skript

Eigentlich sind es ja zwei, weil eins die Anmeldung und eins die Abmeldung protokolliert:

Das Anmeldeskript sieht so aus:

1
2
3
4
@echo off
echo ------------------------ >> c:\Users\Public\Documents\Showlogin.txt
echo %date% %time% %USERNAME% >> c:\Users\Public\Documents\Showlogin.txt
exit

Das Abmeldeskript ähnlich:

1
2
3
@echo off
echo %date% %time% %USERNAME% abgemeldet >> c:\Users\Public\Documents\Showlogin.txt
exit

Das Ganze wird, wie man oben sehen kann, dann in eine Textdatei SHOWLOGIN.TXT gespeichert:

1
2
3
4
5
6
7
8
9
------------------------ 
30.11.2020 07:30:27,58 Benutzer 
30.11.2020 15:48:28,74 Benutzer abgemeldet 
------------------------ 
01.12.2020 08:45:29,96 Benutzer 
01.12.2020 16:23:30,90 Benutzer abgemeldet 
------------------------ 
02.12.2020 07:55:47,47 Benutzer 
02.12.2020 17:05:48,67 Benutzer abgemeldet 

Nun muss das nur noch eingebunden werden.

Die Automatisierung

Die Dateien müssen nun noch an den richtigen Ort:

LogOn.BAT  - %WINDIR%\System32\GroupPolicy\User\Scripts\Logon\
LogOff.BAT - %WINDIR%\System32\GroupPolicy\User\Scripts\Logoff\

Dann konfigurieren wir das noch in der Benutzerkonfiguration (weil wir es ja für die Benutzer einrichten wollen) in den Gruppenrichtlinien: 

Benutzerkonfiguration, Windows-Einstellungen, Skripts (Anmelden/Abmelden), Anmelden 
und 
Benutzerkonfiguration, Windows-Einstellungen, Skripts (Anmelden/Abmelden), Abmelden 



Nun wird bei jedem An- und Abmelden der Benutzer, das Datum und die Zeit die o.g. Datei geschrieben. 

Freitag, 13. November 2020

Remotedesktop-Anmeldungen regulieren und kontrollieren (1)

Betreibt man einen von der Ferne erreichbaren Windows-Server, könnte es interessant sein, zu wissen, wer sich wann genau anmeldet. Zudem möchte man auch verhindern, dass Benutzer das System durch Leerlaufsitzungen unnütz belasten.

Für beide Anforderungen haben wir die Gruppenrichtlinien.

Fangen wir mit den Sitzungszeitlimits an.

Diese konfigurieren wir entweder in den Computerkonfiguration oder der Benutzerkonfiguration:

Benutzerkonfiguration, Administrative Vorlagen, Windows-Komponenten, Remotedesktopdienste, Remotedesktopsitzungs-Host, Sitzungszeitlimits


Für mich sind besonders die Zeitlimits für getrennte Sitzungen als auch für aktive, aber im Leerlauf befindliche Sitzungen relevant. 

Trägt man hier ein Limit ein, wird der Benutzer erst getrennt und später die Sitzung abgemeldet.

Samstag, 18. Juli 2020

Iconcache leeren

Dass Windows mit Caches arbeitet ist zuweilen hilfreich, bei Icons nervt es mich eher.

Allerdings lässt sich das via Eingabeaufforderung recht leicht beheben:


echo j|del %userprofile%\AppData\Local\Microsoft\Windows\Explorer\Iconcache*.*

Ihr könnt statt %USERPROFILE% natürlich auch Euren den Namen des benannten Profiles eintragen, aber mit Umgebungsvariablen ist es irgendwie universeller.

Tja, und schon sind wir bei den Umgebungsvariablen. Es kann nicht schaden, hin und wieder mal zu kontrollieren, welche bei Euch gesetzt sind. Das wieder erledigt ihr mit dem Befehl


set


Freitag, 21. Juni 2019

Bunt und eckig

Es gibt zwar zahlreiche Tools, das Windows 10 - Startmenü so aussehen zu lassen, wie das, was man seit 1995 kennt - ich halte aber wenig von dieser 25 Jahre alten Benutzerführung. Ich mag die Kacheln. Warum aber manche Kacheln bunt sind (z.B. Firefox, Office), und andere wieder nicht, stört mich. Eigentlich stört es mich, dass ich es nicht beeinflussen kann.

Kann ich aber:

Mit Windows Tile Color Changer kann ich den Hintergrund jeder Kachel färben:

Nehmen wir das Beispiel Skype:



So gehts:

WTCC unter https://www.thewindowsclub.com/windows-tile-color-changer-download herunterladen, Programm öffnen, Application im Drop Down auswählen, Farbe auswählen oder Hex-Code eintragen und auf "Change Color" klicken.


Nun ist die gewählte Kachel farbig:



Wem die in dieser App angezeigten Farben nicht reichen, kann den Color-Hex auch gern über https://html-color-codes.info ermitteln und dann manuell eintragen.

TL HV-TDS Woche 2

Ich verzichte darauf, jeden Tag einzeln zu dokumentieren. Das ist mir etwas zu stressig - obwohl ich in der Bahn genügend Zeit hätte.  Nach ...