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

PowerShell: Sonderzeichen in Pfaden nutzen

Posted on 2. August 20182. August 2018 By Daniel Lensing Keine Kommentare zu PowerShell: Sonderzeichen in Pfaden nutzen

Am gestrigen Tag hatte ich die Aufgabe bei einem Ordnerpfad eine Veränderung vorzunehmen. Dieses hatte ich auch bereits für andere Ordner auf dem Dateisystem vorgenommen. Somit nahm ich meinen Befehlsaufruf zur Hand. Schon beim Hinzufügen des Ordnerpfades in der PowerShell ISE merkte ich, dass etwas nicht stimmte.

Aufgrund eines Dollarzeichens in der Pfadangabe erwartete der Befehl nun die Angabe einer Variable. Ich hatte allerdings keine Lust in Zukunft für eine Handvoll Ordner erst Variablen zu definieren. Der Pfad war ja eigentlich korrekt. Die Interpretation von PowerShell störte in diesem Fall.

Nach ein bisschen experimentieren fand ich heraus, dass ein „Gravis“ (engl.: Backtick) mein Problem lösen kann:

#Defekte Pfade
Get-childitem \\server\Freigabe\Ordner$Data1
Get-childitem \\server\Freigabe\Ordner$Data2
Get-childitem \\server\Freigabe\Ordner$Data3
 
#Funktionierende Pfade
Get-childitem \\server\Freigabe\Ordner`$Data1
Get-childitem \\server\Freigabe\Ordner`$Data2
Get-childitem \\server\Freigabe\Ordner`$Data3

Mit diesem Zeichen definiert man, dass das Sonderzeichen ignoriert wird. Die Variable wird somit zum Pfad-Bestandteil. Dieses funktioniert auch bei weiteren Sonderzeichen wie zum Beispiel Klammern.

Powershell

PowerShell: Anmeldung an MS Online Services

Posted on 30. Juli 201829. Juli 2018 By Daniel Lensing Keine Kommentare zu PowerShell: Anmeldung an MS Online Services

Microsoft bietet verschiedene Services unter Office 365 an. Diese können neben der Webapplikation auch per PowerShell angesprochen werden. Die verschiedenen Dienste über eine PowerShell-Session, wenn man die folgendes Skript nutzt:

$domainHost="domain"
$credential = Get-Credential
 
 
#Verbindungsaufbau über Azure Active Directory PowerShell for Graph module
#Connect-AzureAD -Credential $credential
 
#Verbindungsaufbau über Azure Active Directory Module for Windows PowerShell module
#Connect-MsolService -Credential $credential
 
 
Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking
Connect-SPOService -Url https://$domainHost-admin.sharepoint.com -credential $credential
Import-Module SkypeOnlineConnector
$sfboSession = New-CsOnlineSession -Credential $credential
Import-PSSession $sfboSession
$exchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://outlook.office365.com/powershell-liveid/" -Credential $credential -Authentication "Basic" -AllowRedirection
Import-PSSession $exchangeSession
$SccSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://ps.compliance.protection.outlook.com/powershell-liveid/" -Credential $credential -Authentication "Basic" -AllowRedirection
Import-PSSession $SccSession -Prefix cc

Zur Nutzung der Befehlsauflistung muss die Variable „$domainHost gegen die persönlich definierte Microsoft-Domain ausgetauscht werden.
Für die Verbindung zu Domain muss der jeweilig gewünschte AD-Connector durch die Entfernung des # freigeben.

Weitere Informationen sind bei Microsoft zu finden

Office 365, 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

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 (243)
    • Android (8)
    • Fedora (Linux) (5)
    • iOS (6)
    • Mac OS X (6)
    • Peripherie (5)
    • Ubuntu (Linux) (9)
    • Windows 10 (63)
    • Windows 11 (29)
    • 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 (218)
    • #t2dhero (59)
    • Arbeitszimmer (38)
    • Audio (22)
    • Film / Kino (7)
    • Gedanken (81)
    • Gesundheit (38)
    • Internet (7)
    • Lebensmittel & Essen (23)
    • Lesestoff (20)
    • Sport (11)
    • Veranstaltung (3)
  • Lehren & Lernen (50)
    • Forschung (2)
    • Konferenzen (3)
    • Lehre (1)
    • Präsentation (4)
    • Zertifizierung (42)
  • Programme (332)
    • Android-Apps (28)
    • Eigene Tools (13)
    • iOS-Apps (7)
    • Office (88)
    • Patchday+Updates (77)
    • Software (154)
    • Spiele (3)
    • Windows Phone-Apps (2)
  • Programmierung (97)
    • AutoIT (2)
    • KiXtart (2)
    • PHP (3)
    • Power Automate (1)
    • Powershell (66)
    • VB.NET (11)
    • VBA (10)
    • VBS (10)
  • Server (164)
    • 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 (21)
    • Windows Server 2022 (20)
    • Windows Server 2025 (13)
  • 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