Planen von Systemverwaltungsaufgaben mit Copilot
Ein Team verwaltet eine Windows Server Umgebung mit Active Directory Domain Services (ADDS). Das Onboarding neuer Mitarbeiter erfordert das Erstellen von Benutzerkonten, das Zuweisen von Gruppenmitgliedschaften, das Einrichten von Heimverzeichnissen und das Konfigurieren von E-Mails. Alle diese Aufgaben manuell ausführen, ist zeitaufwändig und fehleranfällig.
Note
Die in dieser Einheit gezeigten Eingabeaufforderungen veranschaulichen, wie ein Betriebstechniker mit dem Planagenten in jedem Szenario interagieren kann. Sie sind Beispiele für effektive Eingabeaufforderungsmuster, die die Art des Kontexts veranschaulichen, den der Agent benötigt. Sie sind keine schrittweisen Anleitungen, die Sie befolgen müssen.
Ein Techniker, der diese Automatisierung startet, beschreibt den vollständigen Umfang der Aufgabe an den Plan-Agent in einer einzigen Eingabeaufforderung. Ein Beispiel dafür, wie diese Eingabeaufforderung strukturiert werden kann:
/plan Create a PowerShell script for automating new employee onboarding in Active Directory. The script should read a CSV file of new hires with columns for FirstName, LastName, Department, JobTitle, and Manager. For each user, it should create an AD account, set the correct OU based on department, add the user to department-specific security groups, create a home directory on \\fileserver\homes$, and set NTFS permissions.
Der Plan-Agent recherchiert Ihren Arbeitsbereich und generiert einen strukturierten Plan:
- Erstellen Sie ein
New-EmployeeOnboarding.ps1Skript mit einem Parameter für den CSV-Dateipfad. - Definieren Sie eine Hashtabelle für die Zuordnung Abteilung/Organisationseinheit.
- Implementieren Sie eine Funktion zum Erstellen des AD-Benutzerkontos mit
New-ADUser, festlegen von Eigenschaften wie Anzeigename, Titel, Abteilung und Manager. - Implementieren Sie eine Funktion, um den Benutzer mithilfe von
Add-ADGroupMemberzu abteilungsspezifischen Gruppen hinzuzufügen. - Implementieren Einer Funktion zum Erstellen des Startverzeichnisses und Festlegen von NTFS-Berechtigungen mithilfe
New-ItemundSet-Acl. - Fügen Sie die Protokollierung hinzu, um erfolgreiche und fehlgeschlagene Vorgänge für jeden Benutzer nachzuverfolgen.
- Fügen Sie Überprüfungsschritte hinzu, um das Skript mit einer CSV-Testdatei in einer Nichtproduktions-OU zu überprüfen.
Iterieren des Plans
Nach der Überprüfung des Plans bemerkt der Techniker, dass er keine vorhandenen Benutzer oder duplizierten Konten behandelt. Eine Nachverfolgungsaufforderung zur Behebung dieser Lücke könnte wie folgt aussehen:
Add a check for existing accounts before creation. If a username already exists, generate an alternative username by appending a number. Also add an email notification to the manager when the account is ready.
Der Plan-Agent überarbeitet den Plan so, dass er die Konfliktlösung für Benutzernamen und einen E-Mail-Benachrichtigungsschritt mit Send-MailMessageeinschließt.
Szenario: Absichern einer Windows Server Baseline
Die Sicherheitshärtung umfasst mehrere Konfigurationsänderungen in verschiedenen Systembereichen. Durch die Planung aller Änderungen vor der Implementierung können Sperrungen oder Dienstunterbrechungen vermieden werden. Ein Beispiel dafür, wie ein Ingenieur ein Härtungsziel für den Plan-Agenten beschreiben kann:
/plan Create a PowerShell DSC (Desired State Configuration) document that hardens a Windows Server 2022 baseline. Include: disabling SMBv1, enforcing TLS 1.2 as minimum, configuring Windows Firewall to block all inbound traffic except RDP (port 3389) from the management subnet 10.0.1.0/24, disabling unused services (Print Spooler, Xbox services), and configuring audit policies for logon events and object access.
Der Plan-Agent generiert einen umfassenden Plan:
- Erstellen Sie eine DSC-Konfigurationsdatei
ServerHardening.ps1mit einem Konfigurationsblock. - Fügen Sie eine Ressource hinzu, um SMBv1 mithilfe der
WindowsFeatureRessource zu deaktivieren. - Fügen Sie Registrierungsressourcen hinzu, um TLS 1.2 zu erzwingen und TLS 1.0/1.1 zu deaktivieren.
- Fügen Sie
FirewallRessourcen aus demNetworkingDscModul hinzu, um eingehende Regeln zu konfigurieren. - Fügen Sie
Service-Ressourcen hinzu, um Druckspooler- und Xbox-bezogene Dienste zu deaktivieren. - Fügen Sie
AuditPolicySubcategoryRessourcen aus demAuditPolicyDscModul hinzu, um die Überwachungsprotokollierung zu konfigurieren. - Erstellen Sie ein
Deploy-ServerHardening.ps1Skript, das die DSC-Konfiguration kompiliert und anwendet. - Fügen Sie Überprüfungsschritte hinzu, um die Konfiguration mit
Test-DscConfigurationund überprüfen Sie die Compliance zu testen.
Szenario: Erstellen eines Serverüberwachungs- und Warnungsskripts
Die Überwachung der Serverintegrität ist eine Routineoperation. Ein strukturierter Ansatz ist hilfreich, wenn anforderungen mehrere Metriken und Benachrichtigungskanäle umfassen. Eine Beispielaufforderung für diese Art von Überwachungsszenario:
/plan Create a PowerShell script that monitors Windows Server health and sends alerts. The script should check: CPU usage (alert if above 90% for 5 minutes), memory usage (alert if above 85%), disk space (alert if any drive is below 10% free), and critical Windows services (DNS, DHCP, Active Directory Domain Services). Send alerts via email and write events to a custom Windows Event Log.
Der Plan kann Folgendes umfassen:
- Erstellen Sie ein
Monitor-ServerHealth.ps1Skript mit konfigurierbaren Schwellenwertparametern. - Implementieren Sie die CPU-Überwachung mit
Get-Counterund einer Samplingperiode. - Implementieren der Speicherüberwachung mithilfe von
Get-CimInstance Win32_OperatingSystem. - Implementieren Sie die Datenträgerüberwachung mithilfe von
Get-CimInstance Win32_LogicalDisk. - Implementieren Sie die Dienstüberwachung mithilfe
Get-Serviceder einzelnen kritischen Dienste. - Erstellen Sie eine benutzerdefinierte Ereignisprotokollquelle mithilfe von
New-EventLog. - Implementieren Sie eine Alarmfunktion, die E-Mails per
Send-MailMessageversendet und in das Ereignisprotokoll schreibt. - Erstellen Sie ein Skript für die Registrierung geplanter Aufgaben, um den Monitor in bestimmten Intervallen auszuführen.
Tipps für effektive Systemverwaltungsprompts
Wenn Sie den Plan-Agent für Systemverwaltungsaufgaben verwenden, sollten Sie Folgendes berücksichtigen:
- Details zur Zielumgebung: Geben Sie die Betriebssystemversion, den Domänennamen oder die Serverrolle an.
- Vorhandene Infrastruktur: Erwähnen Sie vorhandene Skripts, Module oder Konfigurationen, mit denen der neue Code integriert werden soll.
- Erwartungen an die Fehlerbehandlung: Geben Sie an, ob das Skript beim ersten Fehler beendet, fortgesetzt und protokolliert werden soll, oder ob ein manueller Eingriff erforderlich ist.
- Testansatz: Beschreiben Sie, wie Sie testen möchten (Nonproduction OU, Testserver, Trockenlaufmodus).
- Ausgabeanforderungen: Angeben des Protokollierungsformats, der Berichtsausgabe oder der Benachrichtigungseinstellungen.
Note
Der Plan-Agent arbeitet mit allen Dateien in Ihrem Arbeitsbereich. Wenn Sie über vorhandene PowerShell-Module, DSC-Konfigurationen oder Skriptbibliotheken in Ihrem Repository verfügen, verweist der Agent beim Generieren von Plänen darauf. Dies bedeutet, dass Ihre Pläne auf den vorhandenen Code und muster Ihres Teams und nicht auf generische Vorlagen zugeschnitten sind.