Skip to content

Daniels Tagesmeldungen

Kleine IT-Episoden, der Diabetes & das wahre Leben

  • Startseite
  • About me

    • Lebenslauf
    • Weiterbildung
  • Diabetes melitus
    • Diabetes melitus – Definition/Typen
    • Diabetes melitus – Podcasts
    • Diabetes Typ-2 – ErlĂ€uterung
    • Medikament – Forxiga (Dapagliflozin)
    • Medikament – Eylea (Aflibercept)
    • Medikament – Lucentis (Ranibizumab )
    • Medikament – Metformin
  • Disclaimer
  • Toggle search form

Kategorie: Powershell

Export von AD-Gruppenmitgliedern mit Informationen

Posted on 14. Dezember 201713. Dezember 2017 By Daniel Lensing 1 Kommentar zu Export von AD-Gruppenmitgliedern mit Informationen

Es gibt Situationen, wo es wichtig ist die Gruppen-Mitglieder einer Active Directory-Gruppe auszulesen. HÀufig werden weitere Daten benötigt. Zum Beispiel werden Mail-Adressen zum Versand von Informationen benötigt. Dazu habe ich ein Skript erstellt.

import-module activedirectory
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null
 
$groupname = [Microsoft.VisualBasic.Interaction]::InputBox("Bitte AD-Gruppe eingeben", "AD-Gruppe") 
$Domaincontroller = "LAB-DC1.demo.local"
$Folder = [System.Environment]::GetFolderPath("MyDocuments")
$Exportfile = $Folder + "\" + $groupname + ".csv"
$Parameter ="name, mail, samaccountname"
 
$Gruppe = Get-ADGroupMember $groupname -server $Domaincontroller | Select distinguishedName
$Gruppe | ForEach { Get-ADUser $_.distinguishedName -server $Domaincontroller -Properties * | Select-object $Parameter} | export-csv $Exportfile -notypeinformation -encoding UTF8

Als Voraussetzung fĂŒr die Programmzeilen sind die „Active Directory Module for Windows PowerShell“ der „Remote Server Administrator Tools“. Diese mĂŒssen nach Installation der passenden MSI ĂŒber „Programme und Features“ aktiviert werden. Anschließend sollte noch der DomĂ€nencontroller im Ablauf angepasst werden.

Zur Abfrage wird ein kleines GUI-Fenster geöffnet in dem der benötigte Gruppenname eingetragen wird. Anschließend wird eine Liste im Dokumente-Ordner des ausfĂŒhrenden Benutzers erstellt. Diese enthĂ€lt in dieser AusfĂŒhrung die Namen, Mail-Adressen und Anmeldenamen der Mitglieder.

Powershell, Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2012, Windows Server 2016

Modusabfrage zur GPO-Loopback-Verarbeitung

Posted on 13. Dezember 201713. Dezember 2017 By Daniel Lensing Keine Kommentare zu Modusabfrage zur GPO-Loopback-Verarbeitung

In manchen DomÀnen-Umgebungen wird in den eingesetzten Gruppenrichtlinien die Loopback-Verarbeitung angewandt, um User-Einstellungen anzuwenden, welche an Computerobjekten definiert sind. Um die Herauszufinden, ob diese FunktionalitÀt an einem Client genutzt wird, habe ich mir ein kleines Skript geschrieben:

$key = "Registry::HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\System"
$value = "UserPolicyMode"
 
$UserPolicyMode = (Get-ItemProperty -Path $key -Name $value).$value
 
If ($UserPolicyMode -eq $null){
$wshell = New-Object -ComObject Wscript.Shell
$wshell.Popup("Die GPO-Loopback-Verarbeitung ist nicht aktiviert.",0,"GPO Loopback")}
 
Elseif ($UserPolicyMode -eq 1){
$wshell = New-Object -ComObject Wscript.Shell
$wshell.Popup("Die GPO-Loopback-Verarbeitung ist auf ""ZusammenfĂŒhren (Merge)"" gesetzt.",0,"GPO Loopback")}
 
Elseif ($UserPolicyMode -eq 2){
$wshell = New-Object -ComObject Wscript.Shell
$wshell.Popup("Die GPO-Loopback-Verarbeitung ist auf ""Ersetzen (Replace)"" gesetzt.",0,"GPO Loopback")}

Dabei wird der Wert

UserPolicyMode

aus dem Registrypfad

HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\System

abgefragt.

Entsprechend des Ergebnisses wird eine Messagebox dargestellt.

  • Wert: 1 = Modus „ZusammenfĂŒhren (Merge) aktiviert
  • Wert: 2 = Modus „Ersetzen (Replace)“ aktiviert
  • Kein Wert = Loopback-Verarbeitung deaktiviert
Powershell, Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2012, Windows Server 2016

Powershell-Fehlermeldung von Netzlaufwerken

Posted on 1. Juli 20171. Juli 2017 By Daniel Lensing Keine Kommentare zu Powershell-Fehlermeldung von Netzlaufwerken

Gern meldet sich Powershell mit rot markierten Meldungen in Skripten oder entsprechenden AblÀufen. Aber auch wenn einfach nur eine Powershell-Konsole geöffnet wird, kann direkt eine Meldung erscheinen, die wie folgt aussieht:

Attempting to perform the InitializeDefaultDrives operation on the ‘FileSystem’ provider failed.

Dieses liegt meistens an entweder nicht sauber getrennten Netzwerklaufwerken oder Netzwerklaufwerken, die bei der Anmeldung des Benutzers am System, nicht ordnungsgemĂ€ĂŸ wieder hergestellt werden konnten. Generell ist dieses allerdings keine EinschrĂ€nkung fĂŒr das jeweilige Skript, außer es verwendet eines der betroffenen Laufwerke.

Powershell

ZufÀlliges Ermitteln von AD-Benutzern

Posted on 14. MÀrz 201714. MÀrz 2017 By Daniel Lensing Keine Kommentare zu ZufÀlliges Ermitteln von AD-Benutzern

Bei Rollouts oder Erstellung von Test-Gruppen ist es hilfreich einfach eine „willkĂŒrliche“ Liste von Benutzern zu nutzen. Um dieses einfach nicht selber entscheiden zu mĂŒssen, habe ich eine kleine Powershell-Zeile, die mir dieses abnimmt.

Get-ADUser -Filter * -properties * | where {$_.scriptpath -like “*login*”} | Select-Object -Property samaccountname | Sort-Object{Get-Random} | Select -First 50

Dieses Beispiel habe ich genutzt, um ein veraltetes Loginskript umzustellen. Es werden alle Benutzer ermittelt, die im AD-Objekt noch das definiert Loginskript eingetragen haben. Nach der Auswertung der Benutzeranmeldenamen („samAccountName“) werden diese in eine zufĂ€llige Reihenfolge gebracht. Anschließend werden die ersten 50 Benutzer definiert.

Mit dieser Liste kann man entweder ĂŒber einen Export weiterarbeiten oder auch direkt einen Powershell-Befehl zur Abarbeitung von Anpassungen anhĂ€ngen.

Powershell

Powershell – FensterĂŒberschrift editieren

Posted on 2. Januar 20172. Januar 2017 By Daniel Lensing Keine Kommentare zu Powershell – FensterĂŒberschrift editieren

Bei einigen Skripten oder bei mehreren Powershell-Fenstern kann es sinnvoll sein, den entsprechende Programmaufruf mit einer eigenen Überschrift zu versehen.
Dieses ist mit dem folgenden Aufruf möglich:

$host.ui.RawUI.WindowTitle = („Test-Überschrift“)

Auch in der Taskleiste ist die definierte Überschrift zu lesen, so dass es einfacher ist die Powershell-Fenster zu ermitteln.

Powershell

Win10: Windows Update-Logfile generieren

Posted on 26. August 201626. August 2016 By Daniel Lensing Keine Kommentare zu Win10: Windows Update-Logfile generieren

Seit Windows 10 wird das Logfile fĂŒr die FunktionalitĂ€t des Windows Update nicht mehr direkt in einer lesbaren Form zur VerfĂŒgung gestellt. Um Ressourcen zu sparen wird „Event Tracing for Windows“ (ETW) eingesetzt, welches Daten als etl-Dateien auf dem System ablegt.

Entsprechend muss mit dem folgenden Powershell-Befehl unter Nutzung von administrativen Berechtigungen die Datei generiert werden.

Get-WindowsUpdateLog

Es wird automatisch die WindowsLog-Datei auf dem Desktop des ausfĂŒhrenden Benutzers gespeichert.

In der Datei befinden sich dann noch Zeilen, welche bereinigt werden können, da diese nicht benötigt werden:

(Get-Content "$env:USERPROFILE\Desktop\WindowsUpdate.log") -notmatch "1601.01.01" | Out-File -Encoding ASCII "$env:USERPROFILE\Desktop\WinUpdate.log"
Remove-Item "$env:USERPROFILE\Desktop\WindowsUpdate.log"

Weitere Informationen: hier

Powershell, Windows 10, Windows Server 2016

Powershell: Druckertreiber auf „packageaware“ prĂŒfen

Posted on 1. August 20161. August 2016 By Daniel Lensing Keine Kommentare zu Powershell: Druckertreiber auf „packageaware“ prĂŒfen

Aufgrund der Anpassung des Microsoft-Updates MS16-087 ist es fĂŒr eine erfolgreiche Installation ohne Benutzer-Interaktion ebenfalls erforderlich, dass der Druckertreiber als „ispackageaware“ gekennzeichnet ist.

Dieses ist allerdings nicht bei jedem Hersteller gegeben und sollte im Rahmen der Analyse zum benannten Patch geprĂŒft werden. Dieses ist mit dem folgenden Powershell-Befehl sehr einfach:

Get-PrinterDriver * -ComputerName "Printserver" | Where-Object {$_.PrinterEnvironment -eq "Windows x64"}| select-object provider, name, ispackageaware

Dieser funktioniert ab Windows 8 btw. Windows Server 2012 und höher. Aufgrund der Remoteabfrage kann dieser Befehl aber auch auch Ă€ltere Windows-Systeme abfragen, wenn das aufragenden System die entsprechende Windows-Version besitzt. Des Weiteren werden nur Druckertreiber fĂŒr Windows 64-Bit-Versionen ermittelt, so dass wenn Treiber fĂŒr des Typs V3 fĂŒr beide Bit-Systeme installiert wurden, nur einer ausgewertet wird.

Was aber bedeutet „packageaware“?
Die Treiber mĂŒssen alle erforderlichen Dateien in den zentrale Treibersammlung einbringen und mĂŒssen digital signiert sein. Entsprechend werden diese auch ohne administrative Berechtigung auf einem Client im Anwender-Kontext installiert.

Powershell, Windows Server, Windows Server 2012

Seitennummerierung der BeitrÀge

Vorherige 1 … 5 6 7 … 9 NĂ€chste

Daniel Lensing

Ich betreibe diesen Blog, bei dem ich meine Erfahrungen aus der IT & dem Berufsalltag sowie dem Wahnsinn des Lebens mit Höhen und Tiefen. Darunter meine „Erlebnisreise“ zum Planeten „Diabetes mellitus Typ-2“.

Translate:

Follow us

Kategorien

  • Allgemein (1)
  • Client (235)
    • Android (7)
    • Fedora (Linux) (5)
    • iOS (5)
    • Mac OS X (5)
    • Peripherie (5)
    • Ubuntu (Linux) (8)
    • Windows 10 (60)
    • Windows 11 (21)
    • Windows 7 (100)
    • Windows 8 (36)
    • Windows 8.1 (28)
    • Windows Mobile (2)
    • Windows Vista (65)
    • Windows XP (21)
  • Cloud (15)
    • Amazon AWS (1)
    • Microsoft Azure (7)
    • Office 365 (9)
  • Fortbewegung (57)
    • Auto (18)
    • Bahn (18)
    • Beinarbeit (6)
    • Flugzeug (4)
    • Zweirad (14)
  • IT-Nachrichten (37)
  • Leben Beruf und Gesundheit (204)
    • #t2dhero (53)
    • Arbeitszimmer (31)
    • Audio (20)
    • Film / Kino (7)
    • Gedanken (79)
    • Gesundheit (33)
    • Internet (5)
    • Lebensmittel & Essen (22)
    • Lesestoff (18)
    • Sport (11)
    • Veranstaltung (3)
  • Lehren & Lernen (49)
    • Forschung (1)
    • Konferenzen (3)
    • PrĂ€sentation (4)
    • Zertifizierung (42)
  • Programme (325)
    • Android-Apps (27)
    • Eigene Tools (12)
    • iOS-Apps (6)
    • Office (86)
    • Patchday+Updates (74)
    • Software (150)
    • Spiele (3)
    • Windows Phone-Apps (2)
  • Programmierung (92)
    • AutoIT (1)
    • KiXtart (1)
    • PHP (3)
    • Power Automate (1)
    • Powershell (61)
    • VB.NET (10)
    • VBA (10)
    • VBS (10)
  • Server (159)
    • Citrix XenServer (2)
    • Exchange Server (26)
    • Lync Server (1)
    • System Center (4)
    • Ubuntu Server (2)
    • Windows Home Server (2)
    • Windows Server (92)
    • Windows Server 2012 (45)
    • Windows Server 2016 (15)
    • Windows Server 2019 (18)
    • Windows Server 2022 (15)
    • Windows Server 2025 (8)
  • Telekommunikation (38)
    • Festnetz (3)
    • Internet (13)
    • Mobilfunk (23)
  • Verkauf & Verlosung (1)
  • Web-Installationen (36)
    • Joomla (4)
    • Mastodon (1)
    • MediaWiki (9)
    • phpMyAdmin (2)
    • Piwik (4)
    • Wordpress (20)
Mastodon

Copyright © 2025 Daniels Tagesmeldungen.

Powered by PressBook WordPress theme