Wie sperre ich normale Benutzer (ohne Administratorrechte) während der Softwareinstallation?

Wie sperre ich normale Benutzer (ohne Administratorrechte) während der Softwareinstallation?

Wir haben viele Thin Clients mit Windows Embedded Standard 7 und einen SCCM 2012 R2-Server, um sie zu verwalten. Die Schreibfilter der Thin Clients sind aktiviert (FBWF), sodass Maschinenänderungen nicht dauerhaft sind. In den seltenen Fällen, in denen wir etwas auf ihnen aktualisieren müssen, stellen wir es einfach über SCCM bereit und es kümmert sich automatisch darum, die Schreibfilter aus- und wieder einzuschalten, um Änderungen zu übernehmen.

Hier ist wassollenpassieren:
Der SCCM-Client benachrichtigt den Benutzer und gibt einen 30-minütigen Countdown, um seine Arbeit zu speichern und das System zu verlassen. Der Thin Client startet dann neu und deaktiviert den Schreibfilter. Der Anmeldebildschirm zeigt ein Vorhängeschloss und den Hinweis an, dass das Gerät gewartet wird und normalen Benutzern (ohne Administratorrechte) die Anmeldung nicht gestattet, während SCCM seine Arbeit erledigt. Wenn SCCM fertig ist, aktiviert es den Schreibfilter erneut, startet neu und Benutzer können sich erneut anmelden.

Mein Problem ist, dass wir zur Anmeldung am System Proximity-Kartenleser verwenden. Die Mitarbeiter geben keine Passwörter ein. Sie tippen einfach auf ihren Ausweis. Dieses System ist gut, aber die Software, mit der es läuft, unterbricht die Schreibfilterautomatisierung mit Windows Embedded.

Hier ist wasGenau genommendas passiert:
Der SCCM-Client gibt die übliche 15-minütige Benachrichtigung aus, bevor er mit deaktiviertem Schreibfilter neu startet. Beim Neustart wird dernormalDer Anmeldebildschirm wird angezeigt. Benutzer können sich beim System anmelden und es verwenden, während SCCM Software installiert. Und da eine Benutzersitzung aktiv ist, wird erneut eine 30-minütige Benachrichtigung angezeigt, bevor der Neustart mit wieder aktiviertem Schreibfilter erfolgt.

In diesem Szenario verlängert sich die Bereitstellungszeit nicht nur um 30 Minuten, sondern normale Benutzer verbringen auch 30 bis 60 Minuten ungeschützte Zeit auf den Thin Clients, wobei alle von ihnen vorgenommenen Änderungen dauerhaft in das Image eingebrannt werden, wenn der Schreibfilter wieder eingeschaltet wird.

Das Problem rührt daher, dass Windows Embedded 7 einen anderen Anmeldeinformationsanbieter (auch GINA genannt) verwendet als das normale Windows 7, das SSO-Produkt jedoch den Windows-Anmeldeinformationsanbieter ersetzen muss, um zu funktionieren. Ich habe den Hersteller deswegen kontaktiert, aber dieser sagt nur, dass es sich um ein bekanntes Problem handelt und es keine Lösung oder Umgehung dafür gibt.

Hier ist meine Frage:
Wie kann ich das gewünschte Verhalten auf andere Weise simulieren? Ich weiß, dass es eine Gruppenrichtlinieneinstellung gibt, mit der man bestimmten Benutzergruppen die lokale Anmeldung verweigern kann. Ich dachte, ich könnte die entsprechende Registrierungseinstellung vor und nach der Installation ändern, bin aber für andere Ideen offen.

Ich bin nicht abgeneigt, Installationen per Skript durchzuführen, wenn es sein muss. Ich bin mit Skripten, PowerShell, VBScript usw. vertraut. Ich frage mich nur, ob irgendjemand eine gute Idee hat, wie man das Problem lösen kann.


Aktualisieren:
Ich habe vergessen zu erwähnen, dass diese Geräte in Krankenhäusern von Mitarbeitern zur Patientendokumentation verwendet werden. Sie müssen 24 Stunden am Tag verfügbar sein, daher können wir die Anmeldezeiten nicht einschränken oder Wartungsfenster konfigurieren. Wir verwalten Ausfallzeiten, indem wir die Schichtleiter im Voraus benachrichtigen, aber alles, was länger als eine Stunde dauert, wird zu einem Rechtsverstoß und erfordert die Umsetzung offizieller Ausfallzeitverfahren.

Antwort1

Bevor wir beginnen, möchte ich eine pedantische Anmerkung machen, die eher der allgemeinen Leserschaft als Ihnen selbst zugute kommen soll.

wir pushen es einfach über SCCM

SCCM ist eine Pull-basierte Technologie. Ich weiß, was Sie meinten, aber ich habe festgestellt, dass meine Leute auf der ersten Ebene es schneller verstehen, wenn ich ihnen bei jeder Gelegenheit betone, dass SCCM keine Push-basierte Technologie ist.


Ich habe den Anbieter deswegen kontaktiert, aber sie sagen nur, dass es ein bekanntes Problem ist und es keine Lösung oder Problemumgehung dafür gibt.

Das ist schade, denn es klingt, als ob die Ursache dieses Problems das eingebettete Kartenauthentifizierungsprogramm ist. Bleiben Sie beim Anbieter, vielleicht repariert er seine Software tatsächlich.



Nun zu einer echten Antwort: Ich sehe einige mögliche Lösungen für Sie, keine davon ist besonders gut.

  • Konfigurieren Sie ein Wartungsfenster für diese Clients, sodass Ihr anfänglicher Neustart zum Entfernen der Clients aus ihrem Schreibfilter, Ihre tatsächliche Nutzlast und der daraus resultierende Neustart alle außerhalb der Arbeitszeiten erfolgen, wenn keine Mitarbeiter an den Terminals anwesend sind. Dies scheint die am wenigsten schmerzhafte Option zu sein. Es besteht keine Notwendigkeit, SCCM komplizierter zu machen, als es bereits ist.
  • Ein ... kreierenLokale GruppenrichtlinieVorlage, die dem Benutzerrecht „Anmeldung verweigern“ eine Sicherheitsgruppe hinzufügt und diese dann im Rahmen der Anwendungsbereitstellung zuweist/aufhebt.
  • Verwenden Sie PowerShell, um das Benutzerrecht „Anmeldung verweigern“ festzulegen. Ich glaube, dasPowerShell-Community-Erweiterungen (PSCX)verfügt über die Set/Get-PrivilegesCmdlets, mit denen Sie Benutzerrechtezuweisungen manipulieren können
  • Sie können die API verwenden, wenn Sie möchten. Hier ist eineBeispiel.

Antwort2

Offenbar hat niemand die Möglichkeit erwähnt, dieses Problem mithilfe einer Aufgabensequenz zu lösen. Lassen Sie mich daher die Vorteile auflisten (vorausgesetzt, Sie sind im Allgemeinen nicht wirklich damit vertraut, aber lesen Sie den Artikel bitte auch, wenn das der Fall ist):

Wenn alles, was Sie installieren und konfigurieren, mit SCCM erledigt wird, sollten Sie in der Lage sein, eine Tasksequenz zu verwenden, um dies zu erreichen. Vor allem für OSD ist die Verwendung eines TS nichtnurfür OSD und kann die folgenden Vorteile bieten:

Kein Einloggen an der Workstation

Ein TS wird ausgeführt, bevor winlogon.exe ausgeführt wird. Es besteht also keine Möglichkeit, dass sich ein Benutzer versehentlich anmeldet, da es kein Anmeldefenster gibt. Was mich zu meinem zweiten Punkt bringt:

Benutzerdefinierter Hintergrundbildschirm

Sie können einen Begrüßungsbildschirm bereitstellen, der anzeigt, dass Wartungsarbeiten durchgeführt werden, oder was auch immer Sie anzeigen möchten.

Ein TS ist eigentlich nur ein aufgemotztes Skript, aber es verfügt über zahlreiche Funktionen und ist so aufgebaut, dass die Entwicklungszeit verkürzt wird, und ich habe Anwendungsfälle gefunden, die über OSD hinausgehen.

Es hört sich an, als hätten Sie bereits ein Skript für die gewünschte Aufgabe. Sie sollten es also mit minimalem Debugging in ein TS einfügen und loslegen können.

Antwort3

Sie haben nicht angegeben, ob die SSO-Software Active Directory-Anmeldeinformationen verwendet. Eine Lösung wäre daher, die Funktion „Anmeldezeiten“ von Active Directory zu verwenden. Sie erfolgt auf Benutzerebene, kann aber problemlos in Powershell geskriptet werden (Dasist ein Beispiel). Stellen Sie die Anmeldezeiten grundsätzlich so ein, dass die Anmeldung in Ihrem SCCM-Aktualisierungsfenster „verweigert“ wird, und die Benutzer können sich nicht bei den Clients anmelden, während SCCM seine Arbeit erledigt. Sie müssen den ersten erzwungenen Neustart durchführen, der sie abmeldet (die Funktion „Anmeldezeiten“ funktioniert bei angemeldeten Benutzern nicht), aber ansonsten wäre die Implementierung problemlos möglich.

Antwort4

Vielleicht möchten Sie dies testen und sehen, ob es funktioniert:

Ein Skript zu Beginn der SCCM-Aktivität, das Folgendes tut:

  • Entfernen Sie die Identität „NT AUTHORITY\Authenticated Users“ aus der lokalen Benutzergruppe.
  • Entfernen Sie die Identität NT AUTHORITY\Interactive aus der lokalen Benutzergruppe
  • Entfernen Sie die Gruppe „Domänenbenutzer“ aus der lokalen Benutzergruppe

Am Ende:

Fügen Sie die entfernten Sicherheitsprinzipale wieder zur lokalen Benutzergruppe hinzu.

Welche Gruppen Sie tatsächlich hinzufügen/entfernen, hängt möglicherweise von der aktuellen Konfiguration Ihrer Computer ab.

Etwas ausgefallener: Zu Beginn der SCCM-Aktivität könnte eine Verknüpfung zu logoff.exe in den Ordner „Start Menu\Startup“ aller Benutzer (normalerweise C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp) kopiert werden. Dies hätte zur Folge, dass eine Sitzung abgemeldet wird, sobald sie sich anmeldet. Um sicherzugehen, sollten Sie ein Start-/Herunterfahrskript verwenden, um diese Verknüpfung zu löschen. (Ich glaube, dass Startverknüpfungen umgangen werden können, indem man während der Anmeldung die Umschalttaste gedrückt hält.)

verwandte Informationen