Falls Windows mal wieder mit ERROR_NO_SUCH_DOMAIN (1355) um sich wirft wenn man mit NETBIOS Domänennamen um die Ecke kommt:
$x=New-Object -ComObject NameTranslate;$x.Init(3,"");$x.Set(3,"MYDOMAIN\");$x.Get(10)
(3=NT4, 10=CanonicalEx)
Falls Windows mal wieder mit ERROR_NO_SUCH_DOMAIN (1355) um sich wirft wenn man mit NETBIOS Domänennamen um die Ecke kommt:
$x=New-Object -ComObject NameTranslate;$x.Init(3,"");$x.Set(3,"MYDOMAIN\");$x.Get(10)
(3=NT4, 10=CanonicalEx)
PAM Modul installieren
sudo pacman -S pam_u2f
Token für User registrieren
mkdir ~/.config/u2f
pamu2fcg >~/.config/u2f/u2f_keys
SUDO PAM Config anpassen (vorm ersten “auth” einfügen)
auth sufficient pam_u2f.so cue prompt authfile=.config/u2f/u2f_keys
So wird bei angestecktem Key und Mapping im Configverzeichnis Touch angefordert und wenn nicht angesteckt/konfiguriert ist auf Kennwort zurückgefallen.
Optional/praktisch:
Dreist geklaut/zusammengefasst von hier.
Existenz des Modems feststellen:
usb-devices
SYSFS Pfad feststellen
grep lt4132 /sys/bus/usb/devices/*/product
Einmal aus/so einschalten dass es Network/ModemManager auch sieht (1-3 vom vorigen Kommando ableiten):
sudo chmod 777 /sys/bus/usb/devices/1-3/bConfigurationValue
sudo echo 0 > /sys/bus/usb/devices/1-3/bConfigurationValue
sleep 1
sudo echo 3 > /sys/bus/usb/devices/1-3/bConfigurationValue
udev Rulefile erzeugen damits immer passiert
# /etc/udev/rules.d/hp-lt4132.rules
ACTION=="add|change", SUBSYSTEM=="usb", ATTR{idVendor}=="03f0", ATTR{idProduct}=="a31d", ATTR{bConfigurationValue}!="3", ATTR{bConfigurationValue}:="0"
ACTION=="add|change", SUBSYSTEM=="usb", ATTR{idVendor}=="03f0", ATTR{idProduct}=="a31d", ATTR{bConfigurationValue}!="3", RUN+="/bin/sh -c 'sleep 1; echo 3 > %S%p/bConfigurationValue'"
ACTION=="add|change", SUBSYSTEM=="net", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="a31d", ATTR{cdc_ncm/ndp_to_end}=="N", ATTR{cdc_ncm/ndp_to_end}:="Y"
Public key aus PFX/P12:
openssl pkcs12 -in <zert>.pfx -nokeys -password pass:<passwort> -out <zert>.cert.pem
Private key aus PFX/P12:
openssl pkcs12 -in <zert>.pfx -nocerts -nodes -password pass:<passwort> -out <zert>.key.pem
Private key in RSA Form:
openssl rsa -in <zert>.key.pem -out <zert>.rsakey.pem
VM ID ermitteln:
Hyper-V: (Get-VM -ComputerName <host> -Name <vm>).VMId
VMM: (Get-SCVirtualMachine -VMMServer <vmm> -Name <vm>).VMId
RDP File erstellen
full address:s:<host>
pcb:s:<VMId>
server port:i:2179
negotiate security layer:i:0
RDP File starten 😀
Dreist geklaut von hier und erweitert um VMM.
Wurde mit Windows 10 2004 umgestellt, damit sich der Client im Unternehmens DNS registriert muss das Disable disabled werden:
New-ItemProperty -Path ‘HKLM:SYSTEM\CurrentControlSet\Services\Dnscache\Parameters\’ -Name DisableNRPTForAdapterRegistration -PropertyType DWORD -Value 0 -Force
alternativ
reg add HKLM\SYSTEM\CurrentControlSet\Services\DnsCache\Parameters /v DisableNRPTForAdapterRegistration /d 0 /t REG_DWORD /f
display:grid
Spaltendefinition | grid-template-columns | Spaltenbreiten durch Blanks getrennt oder Funktion – z.B. repeat(5,1fr) |
Zeilendefinition | grid-template-rows | Zeilenhöhen durch Blanks getrennt oder Funktion – z.B. repeat(5,1fr) |
Spalten/Zeilendefinition (kurz) | grid-template | Zeilendefinition(en) / Spaltendefinition(en) |
Grid Template | grid-template-areas | Definition Bezeichnung für eine Zelle, Beispiel (hd, mn, sb, ft werden später für grid-area verwendet):"hd hd hd hd hd hd hd hd hd" |
Grid Bereich festlegen | grid-area | Definition in welchen Bereich die aktuelle Klasse im Grid eingefügt wird (hd, mn, sb, ft im Beispiel) |
Spaltenabstand | column-gap | Größe |
Zeilenabstand | row-gap | Größe |
Spalten/Zeilanbstand | gap | Zeilenabstand Spaltenabstand oder nur einen Größe dann für Spalte/Zeile gleiche Abstand |
Positionierung/Spanning (kurz) | grid-column grid-row | Anfang / Ende (Bespiel: 2/4) Negative Werte: vom gegenüberliegenden Rand aus gesehen (oder Wrap nach links von der aktuellen Position weg) "span x" für row/colspan |
Positionierung/Spanning (lang) | grid-column|row-start grid-column|row-end | absolute Position negative Werte relativ von start/end oder rechten/unteren Rand "span x" für row/colspan |
Positionierung/Spanning (superkurz) | grid-area | row-start / col-start / row-end / col-end |
Inhaltspositionierung | place-content | align-content justify-content |
Reihenfolge ändern | order | Anzahl Positionen links (-) oder rechts |
display:flex
Hauptachse festlegen | flex-direction | row (d), row-reverse, column, column-reverse |
Items auf Hauptachse anordnen | justify-content | flex-start (d), flex-end, center, space-between, space-around, space-evenly |
Items auf Querachse andordnen (Space/Verteilung: gleich) | align-items | flex-start, flex-end, center, baseline, stretch (d) |
Items auf Querarchse spacen | align-content | flex-start, flex-end, center, space-between, space-around, space-evenly, stretch (d) |
Umbruch auf Hauptachse | flex-wrap | nowrap (d), wrap, wrap-reverse |
Zelle(n) auf Querachse anordnen (anstatt Hauptachse) | align-self | flex-start, flex-end, center, baseline, stretch |
Hauptachse + Umbruch dort | flex-flow | flex-direction flex-wrap |
Startgröße einer Zelle | flex-basis | Größe, auto |
Anteilsmäßige Veränderung | flex-grow flex-shrink | 0-1 |
Reihenfolge der Items ändern | order | Anzahl Positionen links (-) oder rechts |
Wenn ein Gerät (Kartenleser in meinem Fall) nicht ausgeschaltet werden soll kann man das entsprechende Hakerl im Device Manager setzen (“Allow the computer to turn off this device to save power”) oder wenn mans automatisiert machen will diesen Registrywert setzen:
HKLM/SYSTEM/CurrentControlSet/Enum/USB/VID_xxxx&PID_yyyy/Device Parameters/WDF/IdleInWorkingState = 0 (REG_DWORD)
xxxx/yyyy naturgemäß durch die Werte vom jeweiligen Gerät ersetzen. Nach Reboot ist das Hakerl im GUI weg und das Gerät auf Always On.
Die Tailwind CSS Intellisense Extension für VS Code kann nicht mit der F# Syntax für die HTML Objekte bei der Defaultmethode von Giraffe umgehen – dazu muss man diese Settings in die .config einfügen:
"tailwindCSS.includeLanguages": { "fsharp": "html" }, "tailwindCSS.experimental.classRegex": [ "_class\\s+\"([^\"]*)\"" ]