Der ursprüngliche (generierte) Name eines Windows-PCs

Es ist leider nicht möglich, den ursprünglichen Namen einer Windows-Maschine herauszufinden, zum Beispiel den pseudeozufällig genrierten Namen von der Installation. Es gibt in Windows auch keine „Historie“ aller Hostnmane oder ähnliches.

Aber der jeweils letzte Hostname der Windows-Installation kann in diesem Registry-Schlüssel nachgeschlagen werden:

HKLM\Software\Microsoft\SchedulingAgent\OldName

Windows 10: „Fehler bei der Anmeldung mit dem Benutzerprofildienst. Das Benutzerprofil kann nicht geladen werden“

Problem

Nach einem Update/Upgrade können sich neue Benutzer nich mehr an diesem PC anmelden. Es erscheint die Fehlermeldung „Fehler bei der Anmeldung mit dem Benutzerprofildienst. Das Benutzerprofil kann nicht geladen werden.„. Danach wird der Benutzer sofort wieder abgemeldet. Administratoren können sich anmelden, jedoch bekommen diese entweder kein Startmenü oder nur einen schwarzen Bildschirm.

Lösung

Ein Update auf Windows 16xx macht das manchmal; es git dann einen lokalen Link-Loop in den Profil der die Kopie für frische Benutzer erfolgreich verhindert. Der UserprofileServer versucht das dreimal und bricht dann ab.

Das „Default“ Userprofile ist defekt und es muss einfach nur durch eine saubere Kopie von einem funktionierenden Windows 10 System ersetzt werden.

  1. Alle Benutzer von dem Zielsystem abmelden (damit der Profildienst nichts mehr blockt)
  2. Remote: Das Default-Profil umbenennen. Nicht löschen, das geht wegen des Loops nicht fehlerfrei.
    •  \\<ZIELPC>\Users\Default -> Default.doof
  3. Ein „sauberes“ Default-Profil von einem funktionierenden Windows 10 mit Windows in eine ZIP-Datei packen
  4. Die ZIP-Datei nach \Users entpacken

Fertig. Danach funktionert die Anmeldung neue Benutzer sofort wieder.

Exchange 2013/2016 IMAP funktioniert nicht mehr (MSExchangeIMAP4 Event 1011)

Problem

Auf einem Exchange 2013/2016 funktioniert IMAP „auf einmal“ nicht mehr. Alle IMAP-Verbindungen brechen sofort ab. Eine TCP-Verbindung wird zwar hergestellt, jedoch kommt es zu keinem Nachrichtenaustausch und die Verbindung wird sehr schnell wieder beendet. IMAP-Tools an der Kommandozeile geben den „Error: ReadLine“ zurück, also „keine Daten erhalten“.

Zudem wird (oder wurde …) im Ereignisprotokoll das MSExchangeIMAP4 Ereignis 1011 protkolliert.

Lösung

In diesem Fall war der interne IMAP-Proxy für den Frontendserver ausgeschaltet. Die Ursache dafür haben wir noch nicht gefunden, aber es kommen Updates (CU) und gehäufte Verschlüsselungsfehler bei IMAP-Verbindungen in Frage.

Status prüfen:

[PS] C:\>Get-ServerComponentState -Identity <SERVERNAME>

Im Fehlerfall ist der Proxy hier als „inactive“ zu sehen. Dann werden keine Mails ausgetauscht.

Status ändern:

[PS] C:\>Set-ServerComponentState -Identity <SERVERNAME> -State Active -Requester HealthAPI -Component ImapProxy

Danach klappt’s sofort wieder.

Veraltete Computerkonten im Active Directory finden

Problem

Eine wiederkehrende und frustrierende Verwaltungsaufgabe für das Active Directory ist, alte Computerkonten (Server, Desktop-PCs, Laptops … ) sauber zu entfernen. Viele Admins fügen eigentlich immer nur hinzu, alte Konten werden nicht aufgeräumt. Einen eingebauten Automatismus dafür gibt es nicht.

Ein Blick auf die Registerkarte „Objekt“ eines Computerkontos zeigt zwar, wann die Update-Sequenznummer (USN) aktualisiert wurde, aber nicht wann sich der Computer das letzte mal bei der Domäne angemeldet hat.

Lösung

Es gibt verschiedene Möglichkeiten, um festzustellen, ob ein Computerkonto in Active Directory veraltet ist. Der empfohlene („Best Practice“) Ansatz besteht darin, eine Richtlinie für Ihre Active Directory-Domäne einzurichten, in der die Regeln erläutert werden. Das Problem dabei sind aber remote-Systeme, wie zum Beispiel ein Laptop, wo der entsprechende Benutzer in der Lage ist, alles zu tun, was er über eine Webanwendung benötigt.

Inaktive Computer im AD mit dsquery suchen

C:\> dsquery computer -inactive <WOCHEN>

Der Befehl wird so für die gesamte Domäne (des ausführenden Computers) ausgeführt. Einschränkungen sind aber möglich:

C:\> dsquery computer OU=Hiersuchen,DC=domain,DC=local -inactive <WOCHEN>

Leider kann dsmove nicht mit dieser Liste direkt gepiped werden, da ist die Powershell etwas komfortabler. Um also ältere Computer in eine eigene OU zu verschieben, ist an der CMD-Shell ein Dreizeiler erforderlich:

dsquery computer -inactive <WOCHEN> > liste.txt
FOR /f %%i in (liste.txt) do dsmove %%i -newparent OU=<INACTIVE-OU>,DC=domain,DC=local
del liste.txt

 

 

Inaktive Computer im AD mit der PowerShell suchen

Das geht sogar in Tagen, nicht nur in Wochen. Dafür muss die Variable entsprechend geändert werden (-60).

PS C:\> $then = (Get-Date).AddDays(-60)
PS C:\> Get-ADComputer -Property Name,lastLogonDate -Filter {lastLogonDate -lt $then}

Die ausgegebenen Objekte lassen sich so direkt weiterpipen.

Mehr Beispiele an der Powershell

# Ausgabe veralteter Computerkonten als halbwegs sinnvolle Liste
PS C:\> Get-ADComputer -Property Name,lastLogonDate -Filter {lastLogonDate -lt $then} | Sort-Object -Property "lastLogonDate" | FT Name,lastLogonDate
# Veraltete Computerkonten im AD deaktivieren
PS C:\> Get-ADComputer -Property Name,lastLogonDate -Filter {lastLogonDate -lt $then} | Set-ADComputer -Enabled $false
# Veraltete Computerkonten im AD löschen
PS C:\> Get-ADComputer -Property Name,lastLogonDate -Filter {lastLogonDate -lt $then} | Remove-ADComputer

 

Windows 10 Store Apps im Autostart ausführen oder auf Desktop verknüpfen

Nach einiger Verwirrung wie das wohl in der schönen neuen App-Welt geht, wissen wir jetzt wie man unter Windows 10 und Server 2016 Verknüpfungen zu Apps erstellen kann. Ob diese Verknüpfung auf dem Desktop, im Autostart oder woanders hin soll, ist egal – Verknüpfung ist Verknüpfung.

  1. Dieser virtuellen „Application Folder“ Ordner öffnen (Start > Ausführen). Der enthält alle Store-App Links:
    %windir%\explorer.exe shell:::{4234d49b-0245-4df3-b780-3893943456e1}
  2. Verknüpfung von hier aus an den gewünschten Ort erstellen

Den Autostart-Ordner erreicht man übrigens schnellstmöglich auf die selbe Art und weise über die URL

shell:startup