diff --git a/apps/tesm/src/tesm/services/windowsops.py b/apps/tesm/src/tesm/services/windowsops.py index 3e57468..95dbcf4 100644 --- a/apps/tesm/src/tesm/services/windowsops.py +++ b/apps/tesm/src/tesm/services/windowsops.py @@ -73,6 +73,24 @@ HINTS: tuple[tuple[str, str], ...] = ( "NT_STATUS_HOST_UNREACHABLE", "Das Geraet ist nicht erreichbar.", ), + # Diese Meldung liest sich wie ein technisches Detail, hat aber fast immer + # eine einzige Ursache: das Konto ist auf dem Zielgeraet kein Administrator. + # Nachgemessen an einem echten Fall -- die Anmeldung gelang, aber schon + # "net rpc info" und der Dienstmanager antworteten mit ACCESS_DENIED, also + # bekommt ein Standardkonto die winreg-Pipe gar nicht zu sehen. + ( + "pipe winreg", + "Das Konto hat auf diesem Geraet keine Administratorrechte. Ein Neustart ueber " + "RPC braucht sie: die Pipe, ueber die er laeuft, ist fuer Standardkonten nicht " + "sichtbar. Ein Konto der lokalen Administratoren hinterlegen -- pruefen laesst " + "sich das mit 'net rpc service status RemoteRegistry'.", + ), + ( + "NT_STATUS_OBJECT_NAME_NOT_FOUND", + "Der benoetigte RPC-Dienst antwortet auf dem Geraet nicht. Meist fehlen dem " + "Konto die Administratorrechte; sonst ist der Dienst 'Remoteregistrierung' " + "gestoppt.", + ), ) diff --git a/packages/tesm-core/src/tesm_core/static/tesm_core/css/components.css b/packages/tesm-core/src/tesm_core/static/tesm_core/css/components.css index 62e3c1d..b79c77d 100644 --- a/packages/tesm-core/src/tesm_core/static/tesm_core/css/components.css +++ b/packages/tesm-core/src/tesm_core/static/tesm_core/css/components.css @@ -161,6 +161,40 @@ border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-ring); } + /* Der Knopf im Dateifeld kommt vom Browser und ignoriert jede Aussenfarbe: + im dunklen Thema ein hellgraues Kaestchen mit dunkler Schrift, das weder + zum Feld noch zu den uebrigen Knoepfen passt und kaum zu lesen war. + Deshalb explizit wie ein Sekundaerknopf gestaltet -- und weil vier Felder + betroffen sind (Sicherung, Lizenz, Profilbild, Freigaben), einmal hier. */ + .input[type="file"] { + padding: 5px 6px; + display: flex; + align-items: center; + gap: var(--sp-3); + cursor: pointer; + color: var(--text-muted); + } + .input[type="file"]::file-selector-button { + padding: 5px 12px; + margin-right: var(--sp-1); + border: 1px solid var(--border-strong); + border-radius: var(--r-sm); + background: var(--surface-2); + color: var(--text); + font-family: inherit; + font-size: var(--fs-sm); + font-weight: 570; + cursor: pointer; + transition: background var(--dur-fast), border-color var(--dur-fast); + } + .input[type="file"]:hover::file-selector-button { + background: var(--surface-3); + border-color: var(--text-faint); + } + .input[type="file"]:focus-visible::file-selector-button { + border-color: var(--accent); + } + .input[readonly], .input[disabled], .select[disabled], .textarea[disabled] { background: var(--surface-inset); color: var(--text-muted);