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

Mit MAC-Adresse Reservierung oder Lease finden

Posted on 11. Juli 201811. Juli 2018 By Daniel Lensing Keine Kommentare zu Mit MAC-Adresse Reservierung oder Lease finden

In grĂ¶ĂŸeren DHCP-Umgebungen kann es hilfreich sein eine globale Suche absetzen zu können.
FĂŒr die eingesetzten CMDlets von Powershell ist mindestens Windows Server 2012 bzw. Windows 8.1 vorausgesetzt.

$MACAddress ="00-00-00-00-00-00"
$dhcpserver = "192.168.100.10"
$allscope = Get-DhcpServerv4Scope -ComputerName $dhcpserver
 
foreach ($ScopeID in $allscope) {
Get-DhcpServerv4reservation -ComputerName $dhcpserver -ScopeId $ScopeID.scopeid | where {$_.clientID -match $MACAddress}|ft -AutoSize
Get-DhcpServerv4Lease -ComputerName $dhcpserver -ScopeId $ScopeID.scopeid | where {$_.clientID -match $MACAddress}|ft -AutoSize
}

In diesem Fall wird auf einem DHCP-Server eine MAC-Adresse gesucht.
Dieses geschieht fĂŒr Reservierungen sowie auch Leases.
Die Suche wird ĂŒber alle vorhandenen IPv4-Scopes angewandt.

Als Ergebnis werden die jeweils vorhandenen Werte angezeigt.

Powershell, Windows 10, Windows 8.1

Kopieren von Gruppen eines AD-Benutzers

Posted on 3. April 20183. April 2018 By Daniel Lensing Keine Kommentare zu Kopieren von Gruppen eines AD-Benutzers

In TestfĂ€llen kann es sehr sinnvoll sein auf schnellem Weg Benutzer-Berechtigungen zu kopieren. DafĂŒr werden im Powershell-Skript die vorhandenen Gruppen gelöscht. Anschließend werden vom Quell-Benutzer die AD-Gruppen ausgelesen und dem Ziel-Benutzer hinzugefĂŒgt.

$Source = "UserA"
$Destination = "UserB"
 
#Leeren des Zielbenutzers
(Get-ADUser $Destination -properties memberof).memberof  | 
Remove-ADGroupMember -Members $Destination -Confirm:$false
 
#Benutzer in die Gruppen hinzufĂŒgen
Get-ADUser -Identity $Source -Properties memberof |
Select-Object -ExpandProperty memberof |
Add-ADGroupMember -Members $Destination -PassThru |
Select-Object -Property SamAccountName

Die neu hinzugefĂŒgten Gruppen werden in einer Liste als SamAccountName angezeigt.

Powershell

Grafische Listen-Ausgabe unter Powershell

Posted on 4. Januar 20184. Januar 2018 By Daniel Lensing Keine Kommentare zu Grafische Listen-Ausgabe unter Powershell

Über den das CMDlet „Out-GridView“ ist die grafische Darstellung von Ausgabelisten möglich. Eine Formatierung ist ĂŒber eine Steuerung mit Select-Object möglich. In der OberflĂ€che kann dann auch bei lĂ€ngeren Listen gefilert werden.

Über den Zusatz „-title“ kann der Titel der OberflĂ€che bestimmt werden. Wichtiger finde ich allerdings die FunktionalitĂ€t „-passthru“. Mit dieser kann ein ausgewĂ€hlter Wert zurĂŒck ins Skript ĂŒbergeben werden. Somit kann auch trotz dem Einsatz von Powershell eine schnelle und intuitive Nutzung fĂŒr Anwender eines Skriptes gewĂ€hrleistet werden. Generell ist eine Mehrfach-Auswahl von EintrĂ€gen möglich. Wenn dieses nicht gewĂŒnscht ist, muss der Parameter „-OutputMode Single“ gesetzt werden.

FĂŒr die Nutzung des Befehlssatzes ist mindestens Powershell Version 3 sowie eine installierte Powershell ISE erforderlich.

Weitere Informationen dazu unter Microsoft Docs

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

Seitennummerierung der BeitrÀge

Vorherige 1 … 5 6 7 … 10 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 (239)
    • Android (8)
    • Fedora (Linux) (5)
    • iOS (6)
    • Mac OS X (6)
    • Peripherie (5)
    • Ubuntu (Linux) (9)
    • Windows 10 (63)
    • Windows 11 (25)
    • 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 (58)
    • Auto (18)
    • Bahn (19)
    • Beinarbeit (6)
    • Flugzeug (4)
    • Zweirad (14)
  • IT-Nachrichten (37)
  • Leben Beruf und Gesundheit (216)
    • #t2dhero (58)
    • Arbeitszimmer (38)
    • Audio (22)
    • Film / Kino (7)
    • Gedanken (81)
    • Gesundheit (38)
    • Internet (7)
    • Lebensmittel & Essen (22)
    • Lesestoff (19)
    • Sport (11)
    • Veranstaltung (3)
  • Lehren & Lernen (49)
    • Forschung (1)
    • Konferenzen (3)
    • PrĂ€sentation (4)
    • Zertifizierung (42)
  • Programme (328)
    • Android-Apps (28)
    • Eigene Tools (12)
    • iOS-Apps (7)
    • Office (87)
    • Patchday+Updates (75)
    • Software (151)
    • Spiele (3)
    • Windows Phone-Apps (2)
  • Programmierung (95)
    • AutoIT (1)
    • KiXtart (1)
    • PHP (3)
    • Power Automate (1)
    • Powershell (64)
    • VB.NET (10)
    • VBA (10)
    • VBS (10)
  • Server (161)
    • Citrix XenServer (2)
    • Exchange Server (27)
    • 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 (19)
    • Windows Server 2022 (17)
    • Windows Server 2025 (10)
  • Telekommunikation (38)
    • Festnetz (3)
    • Internet (13)
    • Mobilfunk (23)
  • Verkauf & Verlosung (1)
  • Web-Installationen (37)
    • Joomla (4)
    • Mastodon (1)
    • MediaWiki (10)
    • phpMyAdmin (2)
    • Piwik (4)
    • Wordpress (20)
Mastodon

Copyright © 2025 Daniels Tagesmeldungen.

Powered by PressBook WordPress theme