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.
Freitag, 21. Juni 2019
Freitag, 10. Mai 2019
Freitag, 26. April 2019
Windows-Shortcuts
Ich arbeite seit fast 30 Jahren mit Windows und dennoch gibt es immer wieder etwas Neues, was ich über das Betriebssystem lernen kann - z.B. aus diesem Artikel:
Was ich noch nicht kannte:
Windows-Logo + Links (Rechts, Oben, Unten)
Verkleinert, vergrößert Fenster oder ordnet sie an
Windows-Logo + D
Verkleinert sofort alles
Windows-Logo + V
Bei aktivierter Option ist das ein Zwischenablage-Verlauf
Windows-Logo + STRG + D
Erzeugt einen neuen leeren virtuellen Desktop
Windows-Logo + Punkt
öffnet ein Emoji-Fenster 😃
Den Rest nutze ich bereits.
Freitag, 12. April 2019
Wann läuft mein Passwort ab?
Unsere IT besteht darauf, dass wir regelmäßig unser Kennwort ändern. Wie ich dazu stehe, habe ich ja in diesem Post Wider den Zwang zur Passwort-Änderung hinreichend beschrieben. Aber es ist halt so - da kann ich zetern, wie ich möchte - ich kann es nur für mich managen.
Nun ist es für mich sehr viel besser, wenn ich mich nicht unterwegs davon überraschen lasse, dass mein Kennwort abgelaufen ist; E-Mails funktionieren nicht mehr, Termine und Aufgaben werden nicht mehr verlässlich synchronisiert und es wird zu einem mittlerem Chaos führen, wenn ich mich im Büro wieder in die Domäne anmelden möchte.
Also wäre es super, wenn ich wüsste, wann mein Kennwort ausläuft. Und das geht mit folgendem Befehl in der Eingabeaufforderung:
net user Benutzername /domain
·
Schon wieder Eingabeaufforderung? Hat Microsoft nicht so 'ne wunderschöne PowerShell?
Ja, wenn ihr das mit der Powershell realisieren wollt, gib es hier einen Ansatz:
Ablaufdatum von AD-Passwörtern in PowerShell auslesen.
Für mich ist "net user" perfekt - deshalb lasse ich auch hier die PowerShell links liegen.
Nun ist es für mich sehr viel besser, wenn ich mich nicht unterwegs davon überraschen lasse, dass mein Kennwort abgelaufen ist; E-Mails funktionieren nicht mehr, Termine und Aufgaben werden nicht mehr verlässlich synchronisiert und es wird zu einem mittlerem Chaos führen, wenn ich mich im Büro wieder in die Domäne anmelden möchte.
Also wäre es super, wenn ich wüsste, wann mein Kennwort ausläuft. Und das geht mit folgendem Befehl in der Eingabeaufforderung:
net user Benutzername /domain
·
Schon wieder Eingabeaufforderung? Hat Microsoft nicht so 'ne wunderschöne PowerShell?
Ja, wenn ihr das mit der Powershell realisieren wollt, gib es hier einen Ansatz:
Ablaufdatum von AD-Passwörtern in PowerShell auslesen.
Für mich ist "net user" perfekt - deshalb lasse ich auch hier die PowerShell links liegen.
Freitag, 29. März 2019
Ping mit Beep via Batch
- Laufwerke in Abhängigkeit des Standortes verbinden
- Funktionen je nach Verfügbarkeit bereitstellen
oder eben
- warnen, wenn die VPN ausfällt
Bei uns ist das so, dass die Standorte via VPN gegenseitig verfügbar sein sollen und uns die Jungs von der "IT" einen Router hingestellt haben, der das zwar tut, aber alle Nase lang neu gestartet werden muss. Mich nervt das, weil mich der Internetausfall durch den Routerneustart regelmäßig unvorbereitet trifft.
Wie schön wäre es doch, wenn ich mich selbst wenigstens vorwarnen könne?
Kann ich - mach ich - mit Batch.
Beep mit Batch
Schwierigkeit 1 ist, dass es eine BEEP.EXE o.ä. nicht mehr gibt. Die könnte man zwar aus WinXP extrahieren, aber wer will das schon. Also mit Boardmitteln:Leider muss man hier ein wenig tricksen, weil wir ein nichtdruckbares Zeichen benutzen wollen, welches wir nicht so ohne weiteres eingeben können. Aber so geht's:
cmd öffnen, dann nacheinander folgende Befehle eingeben und jeweils mit der ENTER-Taste abschließen:
1 2 3 | copy con beep.bat
echo ^G
^Z
|
(Das ^G erhaltet ihr, indem ihr die Tasten [Strg + G] drückt.)
Jetzt haben wir schon mal eine BEEP.BAT, die Windows dazu veranlasst, dass ein Standardton ausgegeben wird.
Schön und funktional
Der Eintrag in der BEEP.BAT sieht richtigerweise so aus:Den Eintrag kopieren wir in eine funktionale BATCH:
:Start @echo off rem Ping-Test mit Warnton auf Verfuegbarkeit der VPN set ipziel=192.168.168.168 set Minute=%time:~4,1%
cls echo. echo. echo. echo. echo. echo. echo --------------------------------------- echo. echo Es ist: echo. echo %time:~0,8% echo. echo --------------------------------------- ping -n 1 localhost > NUL :Ping ping %ipziel% -n 2 -w 1000 -l 128|findstr "berschreitung" if %errorlevel%==0 goto Fehler if %Minute% == 0 goto Bild goto Start :Fehler echo. echo. echo !!!! Achtung: die VPN ist offline !!!! echo timeout 2 >> NUL echo Die IP: %ipziel% ist nicht erreichbar! echo timeout 2 >> NUL echo timeout 20 >> NUL goto Start :Bild for /L %%A IN (1,1,14) DO call PingPong_PIC.bat cls goto Start :Ende
Zur Erläuterung:
set ipziel=192.168.200.158
hier wird eine Variable mit der Ziel-IP deklariert
set Minute=%time:~4,1%
hier wird eine Variable deklariert, die die 5. Stelle (es beginnt mit "0") der Uhrzeit auswirft. Das benutzen wir später, um die Anzeige etwas aufzulockern
wirft die aktuelle Uhrzeit aus, aber nur von der 0. Stelle und davon 8 Zeichen
ping -n 1 localhost > NUL
ist nur davor da, dass die Anzeige einen Augenblick sichtbar ist
ping %ipziel% -n 2 -w 1000 -l 128|findstr "berschreitung"
das ist der eigentliche PING-Befehl: zwei Pakete mit 1 KB, einer Antwortdauer von 128 ms
hinter dem Pipe wird der Output auf die Zeichenfolge "berschreitung" geprüft. Das nutzen wir, um einen Errorlevel zu bekommen (0 = erfolgreich), und dadurch den Fehler des Pings von dessen Erfolg unterscheiden zu können.
if %errorlevel%==0 goto Fehler
wenn also in der Rückgabe des Pings die Zeichenkette "berschreitung" gefunden wird, ist der Errorlevel erfolgreich und das Programm springt zur Sprungmarke ":Fehler"
if %Minute% == 0 goto Bild
wenn Errorlevel nicht 0 (also 1) ist, dann ist alles in Ordnung. Hier prüfen wir ab, ob die Minute eine Zehner-Minute ist (10 oder 20 oder 30 oder ...). Wenn ja, dann springe zur Sprungmarke ":Bild".
echo BEL
timeout 2 >> NUL
in der Sektion ":Fehler" wird nun das o.a. BEEP ausgegeben. Damit es auch hörbar ist, ergänzen wir es um einen timeout-Befehl.
Übrigens nutze ich für die Anzeige von Quellcode http://hilite.me/. Leider kann hilite.me mit nichtdruckbaren Zeichen nicht umgehen und zeigt nur ein " " an...
for /L %%A IN (1,1,14) DO call PingPong_PIC.bat
in der Sektion ":Bild" rufen wir eine PINGPONG_PIC.BAT auf, die wiederum nichts anderes tut, als ein ASCII-Art anzuzeigen. Bei mit sind das eine Abfolge von Bildern, die insgesamt eine ASCII-Animation ergeben. Das beschäftigt den Prozessor witzigerweise enorm, sodass ich ihm diesen Auslauf nur aller 10 Minuten gönne (siehe die Bedingung mit der Variable %Minute%).
goto Start
Tja und die verteilten Sprungmarken zurück verhelfen uns, dass wir immer wieder von vorn beginnen können.
Freitag, 15. März 2019
SCRCPY - Android fernsteuern
Bezugnehmend auf diesen Post: SideSync...mal wieder eines etwas mehr gelungen möchte ich meinen derzeit technisch irrgeleiteten Mitautor folgendes Tool für den Fall des Wiedereintritts auf die gute Seite der Macht in Aussicht stellen:
Das Programm benutzt adb und benötigt deshalb ein per Kabel angeschlossenes Smartphone und aktiviertes USB-Debugging. Um USB-Debugging zu aktivieren müsst ihr erst die Entwickleroptionen durch fünfmaliges Tippen auf die Buildnummer aktivieren:
Dann könnt ihr das Phone am PC benutzen:
SCRCPY könnt ihr bei GitHub herunterladen, entpacken, dann Phone anstöpseln und die scrcpy.exe starten.
Das ganze geht auch drahtlos. Mehr dazu in der README.
SCRCPY
Das Programm benutzt adb und benötigt deshalb ein per Kabel angeschlossenes Smartphone und aktiviertes USB-Debugging. Um USB-Debugging zu aktivieren müsst ihr erst die Entwickleroptionen durch fünfmaliges Tippen auf die Buildnummer aktivieren:
Dann könnt ihr dort USB-Debugging aktivieren:
Dann könnt ihr das Phone am PC benutzen:
SCRCPY könnt ihr bei GitHub herunterladen, entpacken, dann Phone anstöpseln und die scrcpy.exe starten.
Das ganze geht auch drahtlos. Mehr dazu in der README.
Freitag, 1. März 2019
SQL-Server entrümpeln
Unser Testsystem ist vollgelaufen, weil jeder da was ablegt, sich aber dann nicht mehr darum kümmert, ob das auch weg kann.
Nun gibt es zwei Szenarien, nachdem man suchen könnte:
Szenario 1: Löschen, was weg muss
Alles was nach einem Ablaufdatum noch da ist, muss weg. Das heißt, ich brauche das Datum, wann die Datenbank erstellt wurde (hier: crDate) und wann der letzte Zugriff darauf erfolgte (hier chDate).select d.Name, dbID, crDate, chDate = (select lastdate = max(bb.xx) from ( select xx = max(last_user_seek) where max(last_user_seek) is not null union all select xx = max(last_user_scan) where max(last_user_scan) is not null union all select xx = max(last_user_lookup) where max(last_user_lookup) is not null union all select xx = max(last_user_update) where max(last_user_update) is not null) bb) , filename as Pfad FROM master.dbo.sysdatabases d left outer join sys.dm_db_index_usage_stats s on d.dbid= s.database_id group by d.name, dbid, crdate, filename
Aber Achtung; das Datum wird bei Neustart des Rechners auf NULL gesetzt.
Szenario 2: Löschen, was sich lohnt
Wenn es sowieso ein Test-System ist, kann ja theoretisch alles weg. Man könnte aber auch vor allem denen auf die Füße treten, deren Datenbanken den meisten Platz beanspruchen. Hier muss man über eine Zwischentabelle arbeiten, weil die Size-Werte nicht nach MASTER übergeben werden:use master; set TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; GO declare @Result Table ( Database_Name sysname NOT NULL, Database_Owner sysname NULL, type_desc VARCHAR(10) NOT NULL, size_MB DECIMAL(18, 2) NOT NULL DEFAULT (0), used_MB DECIMAL(18, 2) NOT NULL DEFAULT (0), growth_MB DECIMAL(18, 2) NOT NULL DEFAULT (0), is_percent_growth TINYINT NOT NULL DEFAULT (0), PRIMARY KEY CLUSTERED ( Database_Name, logical_name ), UNIQUE (physical_name), Logical_Name sysname NOT NULL, physical_name VARCHAR(255) NOT NULL, compatibility_level VARCHAR(10) NOT NULL, collation_Name sysname NOT NULL, snapshot_isolation VARCHAR(5) NOT NULL DEFAULT ('OFF'), read_committed_SI TINYINT NOT NULL DEFAULT (0) ); INSERT INTO @Result EXEC sys.sp_MSforeachdb @command1 = N'USE [?]; select DB_NAME(D.database_id) as [Database Name], SP.name as [Database_Owner], MF.type_desc, MF.size / 128.0 AS [size_MB], FILEPROPERTY(MF.name, ''spaceused'') / 128.0 AS [used_MB], CASE WHEN MF.[is_percent_growth] = 1 THEN MF.[size] * (MF.[growth] / 100.0) ELSE MF.[growth] END / 128.0 AS [growth_MB], MF.[is_percent_growth], MF.name, MF.physical_name, D.compatibility_level, D.collation_name, D.snapshot_isolation_state_desc, D.is_read_committed_snapshot_on from sys.databases AS D INNER JOIN sys.master_files AS MF ON (D.database_id = MF.database_id) LEFT JOIN sys.server_principals AS SP ON (D.owner_sid = SP.sid) where D.database_id = DB_ID();'; select * from @Result AS R order by type_desc desc, size_MB desc; SET TRANSACTION ISOLATION LEVEL READ COMMITTED; GO
Hier müssen die LOGs und die Datenbanken separat betrachtet werden.
Freitag, 8. Februar 2019
Drucken & Falten
Heute mal ein Link-Tipp, den ich schön etwas länger mit mir herum trage:
Canon möchte natürlich, dass mehr gedruckt wird und stellt dafür diverse Vorlagen und Anleitungen bereit, mit denen ihr Papiermodelle bauen könnt. Die Vorlagen reichen von einfachen Rahmen, über hübsche Kalender bis hin zu umfangreichen Papiermodellen.
Ich habe da schon das Eine oder Andere gut gebrauchen können, gerade, wenn man Geschenke originell verpacken möchte. Und bald ist ja Valentinstag ...
Freitag, 25. Januar 2019
ChromePass - muss man kennen, wenn man in Chrome Passwörter speichert
Bei GoogleWatchBlog wird es als Tool als ultranützliches Werkzeug gepriesen - aber man sollte sich ganz genau überlegen,
- Welche Kennwörter man den Browser speichern lässt!
- Wann man seinen PC ungesperrt zurücklässt!
USB-Stick rein, starten, auslesen - schon ist man seine Kennwörter los ...
Abonnieren
Posts (Atom)
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 ...
-
Wie ihr ja wisst, haben wir in wenigen Tagen eine neue Tankkarte. Ich möchte in diesem Beitrag ein paar Hilfestellungen geben. Zuerst mal ei...
-
Manches ist mir eigentlich zu peinlich, aufzuschreiben. Aber da ich danach gesucht habe, möchte ich heute beschreiben, wie man eine Internet...
-
Problem: Ich möchte eine Abfrage direkt in eine Datei ausgeben. Nutzer von MySQL oder MariaDB werden müde lächeln - da gibt es entsprechen...