- Oh, nichts funktioniert bei mir, hilf!
- Keine Sorge, jetzt reparieren wir alles. Wie heißt der Computer ...
(Klassiker des Genres von Anrufen bis zum technischen Support)
Wenn Sie ein Tool a la BgInfo haben oder Ihre Benutzer die Verknüpfung Windows + Pause / Pause kennen und wissen, wie man darauf klickt. Es gibt sogar seltene Fälle, in denen es gelungen ist, den Namen ihres Autos zu erfahren. Aber oft hat der Anrufer zusätzlich zu seinem Hauptproblem eine Sekunde: den Namen / die IP-Adresse des Computers herauszufinden. Und oft dauert es viel länger, dieses zweite Problem zu lösen als das erste (und Sie mussten nur das Hintergrundbild ändern oder das fehlende Etikett zurückgeben :).
Aber es ist viel schöner, etwas zu hören wie:
- Tatyana Sergeevna, keine Sorge, ich verbinde mich bereits ...
Dafür wird aber nicht so viel benötigt.
Ein Spezialist für technischen Support muss sich nur die Namen der Maschinen merken und sich merken, wer für was arbeitet.Bevor ich die Lösung beschreibe, die wir jetzt verwenden, werde ich kurz auf andere Optionen eingehen,
um sie vollständig zu kritisieren und ihre Wahl
zu erklären.
- BgInfo , Desktop Info und dergleichen. Wenn es viel Geld gibt, gibt es auch bezahlte. Unter dem Strich werden die technischen Informationen auf dem Desktop angezeigt: Computername, IP-Adresse, Anmeldung usw. In Desktop Info können Sie sogar Leistungsdiagramme auf die Hälfte des Bildschirms reduzieren.
Es passt nicht, dass der Benutzer beispielsweise für dasselbe Bginfo Fenster minimieren muss, um die erforderlichen Daten anzuzeigen. Meine Kollegen und ich haben mehr als einmal ein charakteristisches Artefakt in BgInfo beobachtet, wenn neuer Text über dem alten angezeigt wird.
Einige Benutzer ärgern sich über die Tatsache, dass Administratoren eine erschreckende 192.168.0.123 auf das Gesicht einer auf dem Desktop ausgestreckten Katze zeichnen und die Ästhetik des Hintergrundbilds beeinträchtigen, was natürlich die Arbeitsstimmung schrecklich demotiviert und vollständig zerstört.
- Beschriften Sie a la "Wer bin ich" (versuchen Sie nicht, ihm am Ende ein Fragezeichen hinzuzufügen :). Eine klassische Verknüpfung auf dem Desktop, hinter der sich ein ordentliches oder nicht sehr umfangreiches Skript befindet, das die erforderlichen Informationen in Form eines Dialogfelds anzeigt. Manchmal wird anstelle einer Verknüpfung das Skript selbst auf dem Desktop platziert, was meiner Meinung nach schlecht ist.
Der Nachteil ist, dass Sie zum Starten der Verknüpfung, wie im ersten Fall, alle geöffneten Fenster minimieren müssen (Minion of Fate, bei dem ein einzelnes Fenster mit Solitaire auf der Arbeitsmaschine geöffnet ist, berücksichtigen wir nicht). Wissen Ihre Benutzer übrigens, wo sie stöbern müssen, um alle Fenster zu minimieren? Das ist richtig, mit einem Finger im Auge des Administrators.
Die Obergrenze legt auch nahe, dass beide oben beschriebenen Methoden einen großen Nachteil darin haben, dass ein Benutzer an der Beschaffung von Informationen beteiligt ist,
der blind, dumm und sogar lügen kann.Ich werde die Möglichkeit einer Verbesserung der Computerkenntnisse nicht in Betracht ziehen, wenn jeder weiß, wo er den Namen seines Computers unter Windows sehen kann: Das Geschäft ist nobel, aber sehr schwierig. Und wenn das Unternehmen eine Fluktuation hat, ist das völlig katastrophal. Was soll ich sagen, in den meisten Fällen erinnern sie sich nicht an ihre Anmeldung.
Er schüttete seine Seele aus und jetzt auf den Punkt.
Die Idee des Habrovchanins
mittel aus
diesem Artikel wurde als Grundlage genommen.
Der Kern der Idee besteht darin, dass das Anmeldeskript bei der Anmeldung eines Benutzers bei Windows die erforderlichen Informationen (Uhrzeit und Computername) in ein bestimmtes Attribut des Benutzerkontos eingibt. Beim Beenden des Systems wird ein ähnliches Abmeldeskript ausgeführt.
Die Idee selbst hat mir gefallen, aber bei der Implementierung hat etwas nicht geklappt.
- Gruppenrichtlinien, in denen Anmelde- und Abmeldeskripts für Benutzer geschrieben werden, werden auf die gesamte Domäne angewendet, sodass die Skripts auf jedem Computer funktionieren, auf dem sich Benutzer anmelden. Wenn Sie Terminallösungen zusammen mit Workstations verwenden (z. B. Microsoft RDS- oder Citrix-Produkte), ist dieser Ansatz unpraktisch.
- Die Daten werden in das Abteilungsattribut des Benutzerkontos eingegeben, auf das der durchschnittliche Benutzer schreibgeschützt ist. Zusätzlich zum Benutzerkontoattribut nimmt das Skript auch Änderungen am Abteilungsattribut des Computerkontos vor, die Benutzer standardmäßig auch nicht ändern können. Damit die Lösung funktioniert, schlägt der Autor vor, die Standardsicherheitseinstellungen für AD-Objekte zu ändern.
- Das Datumsformat hängt von den Lokalisierungseinstellungen auf dem Zielcomputer ab, sodass wir von einem Computer den 10. November 2018 um 14:53 Uhr und den anderen vom 10.11.18 um 14:53 Uhr erhalten können
Um diese Mängel zu beheben, wurde Folgendes getan.
- Das Gruppenrichtlinienobjekt ist nicht mit der Domäne, sondern mit der Organisationseinheit mit den Computern verknüpft (ich trenne Benutzer und Computer nach verschiedenen Organisationseinheiten und berate andere). Gleichzeitig wird der Verarbeitungsmodus für Loopback-Richtlinien auf den Zusammenführungsmodus eingestellt .
- Das Skript gibt nur Daten in das Benutzerkonto im Info- Attribut ein, die der Benutzer unabhängig für sein Konto ändern kann.
- Ein Code wurde geändert, der einen Attributwert generiert
Jetzt sehen die Skripte folgendermaßen aus:
SaveLogonInfoToAdUserAttrib.vbsOn Error Resume Next Set wshShell = CreateObject("WScript.Shell") strComputerName = wshShell.ExpandEnvironmentStrings("%COMPUTERNAME%") Set adsinfo = CreateObject("ADSystemInfo") Set oUser = GetObject("LDAP://" & adsinfo.UserName) strMonth = Month(Now()) If Len(strMonth) < 2 then strMonth = "0" & strMonth End If strDay = Day(Now()) If Len(strDay) < 2 then strDay = "0" & strDay End If strTime = FormatDateTime(Now(),vbLongTime) If Len(strTime) < 8 then strTime = "0" & strTime End If strTimeStamp = Year(Now()) & "/" & strMonth & "/" & strDay & " " & strTime oUser.put "info", strTimeStamp & " <logon>" & " @ " & strComputerName oUser.Setinfo
SaveLogoffInfoToAdUserAttrib.vbs On Error Resume Next Set wshShell = CreateObject("WScript.Shell") strComputerName = wshShell.ExpandEnvironmentStrings("%COMPUTERNAME%") Set adsinfo = CreateObject("ADSystemInfo") Set oUser = GetObject("LDAP://" & adsinfo.UserName) strMonth = Month(Now()) If Len(strMonth) < 2 then strMonth = "0" & strMonth End If strDay = Day(Now()) If Len(strDay) < 2 then strDay = "0" & strDay End If strTime = FormatDateTime(Now(),vbLongTime) If Len(strTime) < 8 then strTime = "0" & strTime End If strTimeStamp = Year(Now()) & "/" & strMonth & "/" & strDay & " " & strTime oUser.put "info", strTimeStamp & " <logoff>" & " @ " & strComputerName oUser.Setinfo
Wer zuerst alle Unterschiede zwischen einem Anmelde- und einem Abmeldeskript findet, ist ein Plus im Karma. :) :)
Um visuelle Informationen zu erhalten, wurde ein so kleines PS-Skript erstellt:
Get-UsersByPCsInfo.ps1 $OU = "OU=MyUsers,DC=mydomain,DC=com" Get-ADUser -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title " " -Wait
Insgesamt ist alles für eins, zwei, drei konfiguriert:
- Erstellen Sie ein Gruppenrichtlinienobjekt mit den erforderlichen Einstellungen und verknüpfen Sie es über Benutzerarbeitsstationen mit dem Gerät:

- gehe Tee trinken (wenn AD mit einer großen Anzahl von Benutzern, dann brauchst du viel Tee :)
- PS-Skript startet und wir erhalten das Ergebnis:

Am oberen Rand des Fensters befindet sich ein praktischer Filter, in dem Sie Daten anhand der Werte eines oder mehrerer Felder auswählen können. Ein Klick auf die Spalten der Tabelle sortiert die Datensätze nach den Werten der entsprechenden Felder.
Sie können unsere Lösung wunderschön "verpacken".

Fügen Sie dazu eine Verknüpfung hinzu, um das Skript für Spezialisten des technischen Supports auszuführen, die im Feld "Objekt" Folgendes haben:
powershell.exe -NoLogo -ExecutionPolicy Bypass -File "\\server\share\Scripts\Get-UsersByPCsInfo.ps1"
Wenn viele Mitarbeiter des technischen Supports beschäftigt sind, können Sie die Verknüpfung mithilfe von
GPP verteilen.
Ein paar Kommentare am Ende.
- Auf dem Computer, von dem aus das PS-Skript gestartet wird, muss das Active Directory-Modul für PowerShell installiert sein (dazu reicht es aus, die AD-Verwaltungstools in den Windows-Komponenten hinzuzufügen).
- Der Benutzer kann die meisten Attribute seines Kontos standardmäßig nicht bearbeiten. Beachten Sie dies, wenn Sie ein anderes Attribut als Info verwenden möchten .
- Informieren Sie alle beteiligten Kollegen darüber, welches Attribut Sie verwenden werden. Dieselben Informationen werden beispielsweise verwendet, um Notizen interaktiv zum Postfach eines Benutzers im Exchange Server-Verwaltungsbereich hinzuzufügen, und jemand kann sie leicht überschreiben, oder es ist traurig, wenn die hinzugefügten Informationen Ihr Skript überschreiben.
- Wenn Sie mehrere Active Directory-Standorte haben, passen Sie Replikationsverzögerungen an. Wenn Sie beispielsweise aktuelle Informationen zu Benutzern von AD-Standort A abrufen und das Skript von AD-Standort B auf dem Computer ausführen möchten, können Sie Folgendes tun:
Get-ADUser -Server DCfromSiteA -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title " " -Wait
DCfromSiteA - der Name der Site Ein Domänencontroller (standardmäßig stellt das Cmdlet Get-AdUser eine Verbindung zum nächsten Domänencontroller her).
BildquelleIch wäre Ihnen dankbar, wenn Sie die kurze Umfrage unten bestehen würden.