Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Powershell Progressbar

$
0
0

Hallo,

ich möchte gerne in meinem Script ein Fortschirttsbalken haben und was am ende des Vorgangs ausgibt :"Import durchgeführt".

Script:

#AD-Module importieren
Import-Module ActiveDirectory

[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null
$dialog = New-Object System.Windows.Forms.OpenFileDialog
$dialog = New-Object System.Windows.Forms.OpenFileDialog
$dialog.DefaultExt = '.csv'
$dialog.Filter = 'CSV Datei|*.csv|All Files|*.*'
$dialog.FilterIndex = 0
$dialog.InitialDirectory = $home
$dialog.Multiselect = $false
$dialog.RestoreDirectory = $true
$dialog.Title = "Select a csv file"
$dialog.ValidateNames = $true
$dialog.ShowDialog()
$dialog.FileName

$script:ErrorActionPreference = "silentlyContinue"

#Eingabeaufforderung
#$Pfad = Read-Host "Bitte Pfad zur .CSV Datei angeben
#Beispiel: C:\users\Administrator\desktop\powershell\Export_cherwell_bearbeitet.csv"

#CSV-Datei importieren
$DatenSaetze = Import-Csv $dialog.FileName -UseCulture -Encoding UTF8

#Jeden Datensatz der CSV-Datei durchlaufen
ForEach ($DatenSatz in $DatenSaetze){

# Set-AdUser-Aufruf mit dem SamAccountName des derzeitigen CSV-Eintrags initieren.
$Kommando = "Set-AdUser $($Datensatz.samAccountName)"
# Für jeden CSV-Eintrag die entsprechenden Attribute durchlaufen
ForEach ($Attribut in (Get-Member -InputObject $DatenSatz -MemberType NoteProperty)){
	
$Wert = $DatenSatz.($Attribut.Name)
		

#Überprüfen, ob Wert nicht leer ist und nicht den SamAccountName enthält
if ($Wert -and ($Wert.Name -ne 'samAccountName')){
		
# Zuvor initierten Aufruf von Set-AdUser um entsprechende Werte erweitern
$Kommando+= " -$($Attribut.Name) '$Wert'"
}
}

#Inhalt von $Kommando mittels Invoke-Expression ausführen
Invoke-Expression $Kommando




Write-Progress -activity “Import wird ausgeführt..” -status “Status: ” -PercentComplete *


}


Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>