Skip to content

Daniels Tagesmeldungen

Kleine IT-Episoden & das wahre Leben

  • Startseite
  • About me…
    • Lebenslauf
    • Weiterbildung
  • Disclaimer
  • Toggle search form

Kategorie: Powershell

Powershell: Zip-Dateien erstellen und entpacken

Posted on 15. März 202114. März 2021 By Chef vom Dienst Keine Kommentare zu Powershell: Zip-Dateien erstellen und entpacken

In manchen Exporten werden viele Dateien erstellt. Zum Versand oder weiteren Ablage kann es sinnvoller sein diese zu bündeln. Im Skripting-Umfeld kann eine ZIP-Datei eine einfache Lösung sein.

Dafür kann der folgende Befehl genutzt werden:

Compress-Archive -Path 'C:\Quelle' -DestinationPath 'C:\Ablage\Dokumente.zip'

Dabei wird automatisch die optimale Kompression im Standard verwandt. Bei einer großen Anzahl an Daten kann dieses über das Argument „-CompressionLevel“ editiert werden:

  • NoCompression
  • Fastest
  • Optimal

Bei „Fastest“ wird schneller verschlüsselt aber auch die Zieldatei wird größer. Bei „NoCompresssion“ werden die Dateien nur zu einer zusammengefasst.

Mit „-Update“ können weitere Dateien einer vorhandenen ZIP-Datei hinzugefügt werden. Zum Beispiel könnte man so eine Monatsdatei erstellt werden.

Selbstverständlich gibt es auch einen Befehl zum entpacken:

Expand-Archive -LiteralPath 'C:\Ablage\Dokumente.zip' -DestinationPath 'C:\Zielordner'

Dabei wird die Zip-Datei an den definierten Zielordner entpackt.
Leider gibt es bei diesen Verfahren keine Möglichkeit die Zip-Datei mit einem Passwort zu schützen.

Zu den Commandlets gibt es natürlich Beschreibungen in den Microsoft Docs

  • Compress-Archive bei Microsoft Docs15
  • Expand-Archive bei Microsoft Docs
Powershell

Powershell: AD-Gruppen zweier Benutzer vergleichen

Posted on 3. März 202128. Februar 2021 By Chef vom Dienst Keine Kommentare zu Powershell: AD-Gruppen zweier Benutzer vergleichen

Manchmal benötigt man einen schnellen Vergleich über die AD-Gruppen zweier Benutzer-Accounts. Dieses kann einem im Fehlerfall schnell eine Idee für ein Problem identifizieren.

#Samaccountname der zu vergleichen
 
$user1 = "user1"
$user2 = "user2"
 
Compare-Object -ReferenceObject (Get-AdPrincipalGroupMembership $user1 | select name | sort-object -Property name) -DifferenceObject (Get-AdPrincipalGroupMembership $User2 | select name | sort-object -Property name) -property name -passthru |
 
ForEach-Object {
 
if ($_.SideIndicator -eq '=>') {
 
$_.SideIndicator = 'Group is not assigned to ' +$User1
 
} elseif ($_.SideIndicator -eq '<=') {
 
$_.SideIndicator = 'Group is not assigned to ' +$User2
 
}
 
$_
 
}

Es konnte sehr schnell die fehlende AD-Gruppe ermittelt werden. Manuell hätten dieses definitiv mehr Arbeitszeit gekostet.

Powershell

AD: Existiert zum Nebenbenutzer noch ein Hauptbenutzer

Posted on 26. Februar 202125. Februar 2021 By Chef vom Dienst Keine Kommentare zu AD: Existiert zum Nebenbenutzer noch ein Hauptbenutzer

In einigen Active Directory-Umgebungen gibt es neben dem Haupt-Benutzer auch Funktionsbenutzer für administrative Berechtigungen oder auch Software-Lösungen. Dabei kann es interessant sein, ob der Hauptaccount überhaupt existiert.

$Prefix_users = get-aduser -filter "samaccountname -like 'pre_*'"
 
Foreach ($u in $Prefix_users.samaccountname)
 
{
 
$query = $(try {get-aduser $u.split('_')[1]} catch {$null})
 
  if ($query -ne $null) {
 
  write-host $u " - "$u.split('_')[1]" - existiert"
 
  } else {
 
  write-host $u " - "$u.split('_')[1]" - existiert nicht"
 
  }
 
}

Die Darstellung des Status ist nur eine der vielen Möglichkeiten. Die Daten können selbstverständlich auch anders verarbeitet werden. Ein Möglichkeit wäre, den Hauptaccount als Manager des Nebenaccounts einzutragen.

Powershell

Powershell: Ordner nach Dateinamen umbenennen

Posted on 13. Januar 202113. Januar 2021 By Chef vom Dienst Keine Kommentare zu Powershell: Ordner nach Dateinamen umbenennen

Ein Tweet einer Person, der ich bei Twitter folge, hatte die folgende Aufgabenstellung:

Kennt jemand ein Tool, mit dem man Ordner in Windows genauso benennen kann wie die Datei, die darin liegt, nur ohne Endung?
Bsp: Ordner heißt Data
Datei heisst 12.10.2020 File.mp3
Ordner soll also 12.10.2020 File heißen.

Das Ganze natürlich für viele Ordner auf einmal.

Ich wusste, dass ich so etwas ähnliches in meiner Skript-Sammlung habe.
Nach einer kurzen Anpassung sind die folgenden Code-Zeilen in Powershell entstanden:

$Folder = "E:\Startordner"
 
$items = get-childitem $Folder -Recurse | where { $_.GetType().Name -eq "FileInfo" }
 
foreach ($item in $items) 
{
$folder = $item.DirectoryName
$file= $item.BaseName
 
Rename-Item -path $folder -Newname $file
}

Es wird rekursiv durch $Folder benannten Ordner nach Dateien gesucht.
Der letzte Ordnername des Dateipfades wird nach dem Namen der Datei benannt.

Powershell

PDF-Dateien aus Ordner über Powershell drucken

Posted on 7. Oktober 20206. Oktober 2020 By Chef vom Dienst Keine Kommentare zu PDF-Dateien aus Ordner über Powershell drucken

Im vergangenen Jahr musste ich regelmäßig Abrechnungen erstellen. Nicht zu jedem Zeitpunkt stand mir direkt ein Drucker zur Verfügung. Teilweise kam es dabei zu über 20 erforderlichen Ausdrucken. Entsprechend hatte ich auch keine Lust diese Ausdrucke manuell anzusteuern. Somit habe ich mir ein Skript zur automatischen Start der Ausdrucke erstellt.

#Definition des Ordners mit den Druck-Dateien
$Directory = "C:\PDFPrint\"
 
#STEP 1: Ermittle alle PDF-Dateien im Ordner
#STEP 2: Starte für jedes File den Print-Prozess
#STEP 3: Warte bitte 30 Sekunden zwischen den Ausdrucken
 
Get-ChildItem -path $Directory -recurse -include *.pdf | 
ForEach-Object {Start-Process -FilePath $_.fullname -Verb Print -PassThru |
%{sleep 30;$_} |
kill }
 
#STEP 4: Lösche die vorhandenen Dateien
Get-ChildItem -path $Directory -recurse -include *.pdf | Remove-Item -Force

Ich habe bei der Standard-Einstellung für PDF-Dateien die besten Erfahrungen bei der Nutzung des Adobe Readers gemacht. Der Ausdruck erfolgt bei dieser Methode über den Standard-Drucker. Ich berücksichtige auch eventuelle Unterordner im definierten Ordner.

Dieses Vorgehen konnte ich auch schon mit Word- und Excel-Dateien nachstellen.

Powershell

Formatierung von Intune-Auditlog-Daten für Vergleiche

Posted on 6. Juni 20195. Juni 2019 By Chef vom Dienst Keine Kommentare zu Formatierung von Intune-Auditlog-Daten für Vergleiche

Im Regelfall können mehrere Administratoren auf die „Profile“ im Intune zugreifen und Änderungen vornehmen. Während einer Fehleranalyse kann es dabei sinnvoll sein, dass man sich die Veränderungen sichtbar macht. Im „Audit Log“ wird dargestellt, wann und wer Veränderungen am jeweiligen Objekt vorgenommen hat. Die Veränderung selber werden in einem Text-Format dargestellt, so dass die Werte „Property“, „New Value“ und „Old Value“ für jede Option untereinander dargestellt werden. Dieses ist für einen Vergleich etwas unhandlich.

Um dieses passend zu formatieren habe ich das folgende Skript mir geschrieben:

$Quelle = "C:\Intune_Profile_Activity_log\changelog.txt"
$Ziel = "C:\Intune_Profile_Activity_log\changelog_Merge.txt"
 
gcb > $Quelle
 
get-content $Quelle -readcount 3 | foreach  {$_ -join ";"} | out-file $Ziel
(Get-content $Ziel) -replace 'Property: ' | out-file $Ziel
(Get-content $Ziel) -replace 'Old Value: ' | out-file $Ziel
(Get-content $Ziel) -replace 'New Value: ' | out-file $Ziel

Die Daten werden direkt aus der Zwischenablage kopiert und verarbeitet. Somit werden die Daten per Semikolon getrennt in die Zieldatei geschrieben.

Powershell

RSAT-Installation unter Win10 Build 1809 per Powershell

Posted on 18. April 201918. April 2019 By Chef vom Dienst Keine Kommentare zu RSAT-Installation unter Win10 Build 1809 per Powershell

Hier ist eine Auflistung der RSAT-Features, welche unter Windows 10 Build 1809 per Powershell installiert werden können

RSAT: Tools für Active Directory Domain Services und Lightweight Directory Services

Add-WindowsCapability -Online -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0

RSAT: Verwaltungshilfsprogramme für die BitLocker-Laufwerkverschlüsselung

Add-WindowsCapability -Online -Name Rsat.BitLocker.Recovery.Tools~~~~0.0.1.0

RSAT: Active Directory Certificate Services Tools

Add-WindowsCapability -Online -Name Rsat.CertificateServices.Tools~~~~0.0.1.0

RSAT: DHCP-Servertools

Add-WindowsCapability -Online -Name Rsat.DHCP.Tools~~~~0.0.1.0

RSAT: DNS-Servertools

Add-WindowsCapability -Online -Name Rsat.Dns.Tools~~~~0.0.1.0

RSAT: Failoverclustering-Tools

Add-WindowsCapability -Online -Name Rsat.FailoverCluster.Management.Tools~~~~0.0.1.0

RSAT: Tools für Dateidienste

Add-WindowsCapability -Online -Name Rsat.FileServices.Tools~~~~0.0.1.0

RSAT: Group Policy Management Tools

Add-WindowsCapability -Online -Name Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0

RSAT: IP-Adressverwaltungsclient (IPAM)

Add-WindowsCapability -Online -Name Rsat.IPAM.Client.Tools~~~~0.0.1.0

RSAT: Data Center Bridging LLDP-Tools

Add-WindowsCapability -Online -Name Rsat.LLDP.Tools~~~~0.0.1.0

RSAT: Netzwerkcontroller-Verwaltungstools

Add-WindowsCapability -Online -Name Rsat.NetworkController.Tools~~~~0.0.1.0

RSAT: Tools für Netzwerklastenausgleich

Add-WindowsCapability -Online -Name Rsat.NetworkLoadBalancing.Tools~~~~0.0.1.0

RSAT: Tools für die Remotezugriffsverwaltung

Add-WindowsCapability -Online -Name Rsat.RemoteAccess.Management.Tools~~~~0.0.1.0

RSAT: Remote Desktop Services Tools

Add-WindowsCapability -Online -Name Rsat.RemoteDesktop.Services.Tools~~~~0.0.1.0

RSAT: Server-Manager

Add-WindowsCapability -Online -Name Rsat.ServerManager.Tools~~~~0.0.1.0

RSAT: Abgeschirmte VM-Tools

Add-WindowsCapability -Online -Name Rsat.Shielded.VM.Tools~~~~0.0.1.0

RSAT: Storage Migration Service Management-Tools

Add-WindowsCapability -Online -Name Rsat.StorageMigrationService.Management.Tools~~~~0.0.1.0

RSAT: Storage Replica Module for Windows PowerShell

Add-WindowsCapability -Online -Name Rsat.StorageReplica.Tools~~~~0.0.1.0

RSAT: System Insights-Modul für Windows PowerShell

Add-WindowsCapability -Online -Name Rsat.SystemInsights.Management.Tools~~~~0.0.1.0

RSAT: Volume Activation Tools

Add-WindowsCapability -Online -Name Rsat.VolumeActivation.Tools~~~~0.0.1.0

RSAT: Windows Server Update Services-Tools

Add-WindowsCapability -Online -Name Rsat.WSUS.Tools~~~~0.0.1.0
Powershell

Beitrags-Navigation

Vorherige 1 2 3 … 7 Nächste

Daniel Lensing

Ich betreibe diesen Blog, wo ich meine Erfahrungen aus der IT sowie dem damit verbundenen Berufsalltag dem Internet zur Verfügung stelle.

Zwischenzeitlich bringe ich auch noch die eine oder andere Gegebenheit aus meinem Offline-Leben zur digitalen Nutzung.

Follow us

  • rss
  • mail
  • twitter
  • instagram
  • xing
  • linkedin

Kategorien

  • Allgemein (13)
  • Client (207)
    • Android (3)
    • Fedora (Linux) (4)
    • iOS (3)
    • Mac OS X (3)
    • Peripherie (4)
    • Ubuntu (Linux) (5)
    • Windows 10 (40)
    • Windows 11 (1)
    • Windows 7 (99)
    • Windows 8 (36)
    • Windows 8.1 (28)
    • Windows Mobile (2)
    • Windows Vista (64)
    • Windows XP (20)
  • Cloud (11)
    • Microsoft Azure (4)
    • Office 365 (7)
  • Fortbewegung (36)
    • Auto (12)
    • Bahn (13)
    • Beinarbeit (1)
    • Zweirad (10)
  • IT-Nachrichten (34)
  • Leben & Beruf (70)
    • Arbeitszimmer (2)
    • Gedanken (12)
    • Kino (2)
    • Lebensmittel & Essen (3)
    • Lesestoff (3)
    • Podcast (5)
  • Lehren & Lernen (44)
    • Konferenzen (1)
    • Präsentation (1)
    • Zertifizierung (42)
  • Programme (304)
    • Android-Apps (21)
    • Eigene Tools (11)
    • iOS-Apps (1)
    • Office (82)
    • Patchday+Updates (66)
    • Software (141)
    • Spiele (3)
    • Windows Phone-Apps (2)
  • Programmierung (78)
    • AutoIT (1)
    • KiXtart (1)
    • PHP (2)
    • Power Automate (1)
    • Powershell (49)
    • VB.NET (7)
    • VBA (10)
    • VBS (10)
  • Server (137)
    • Citrix XenServer (2)
    • Exchange Server (25)
    • Lync Server (1)
    • System Center (4)
    • Windows Home Server (2)
    • Windows Server (86)
    • Windows Server 2012 (43)
    • Windows Server 2016 (10)
    • Windows Server 2019 (2)
  • Telekommunikation (28)
    • Festnetz (3)
    • Internet (6)
    • Mobilfunk (19)
  • Verkauf & Verlosung (1)
  • Web-Installationen (32)
    • Joomla (4)
    • MediaWiki (9)
    • phpMyAdmin (1)
    • Piwik (4)
    • Wordpress (19)

Copyright © 2022 Daniels Tagesmeldungen.

Powered by PressBook WordPress theme