none
User IDs auslesen und prüfen ein ein Ordner mit dem SamAccountName existiert RRS feed

  • Frage

  • Hallo Zusammen,

    ich möchte User IDs aus bestimmter Stadt „XYZ“ prüfen ob in einem bestimmten DFS Pfad z.B. \\xy.yxz..net\dfsroot\de\users\dexyz\ ein Ordner mit dem SamAccountName existiert und dieses in ein Logfile schreiben.

    Auslesen der User nach Stadt funktioniert:
    Get-ADUser -Filter "*" -Properties City | Where-Object {$_.City -eq "XYZ"}   | Export-Csv -path "C:\XX.csv"

    Ich weiß leider nicht wie ich die Abfrage einbauen kann ob der User aus Stadt "XYZ" einen Ordner im Pfad \\xy.yxz..net\dfsroot\de\users\dexyz\  vorhanden ist.

    Hat jemand einen Tip?

    Viele Grüße

    Montag, 7. Mai 2018 09:36

Antworten

  • Hallo,

    vielleicht beschäftigst du dich zuerst einmal mit den Grundtechniken vom Programmieren, dann mit den Grundtechniken der Powershell.
    Microsoft bietet dazu kostenlose Seminare in der Virtual Academy an.

    $Uservariable = @()
    $Stadtvariable = "XYZ"
    $Uservariable = Get-Aduser -Filter {City -eq $Stadtvariable} -Properties * | Select Samaccountname, City
    $Ordnervariable = @()
    For($i = ($Uservariable.Count - $Uservariable.Count); $i -lt $Uservariable.Count; $i++){
    	$Ordnervariable[$i] = "\\"+$Stadtvariable+".net\de\users\de"+$username[$i]
    	If($Uservariable[$i].Samaccountname -match $Ordnervariable[$i] -and $Uservariable[$i].City -match $Ordnervariable[$i]){
    		Write-Host "Ordner für $Uservariable[$i].Samaccountname existiert" 
    	}
    	ELSE{
    		Write-Host "Ordner für $Uservariable[$i].Samaccountname existiert nicht"
    	}
    }

    Habs doch mal soweit es mir in den Sinn kam ergänzt ....

    Aber schau dich in der Virtual Academy um, haben echt guten Content!

    Grüße

    BeatYa





    Montag, 7. Mai 2018 09:57

Alle Antworten

  • Hallo,

    vielleicht beschäftigst du dich zuerst einmal mit den Grundtechniken vom Programmieren, dann mit den Grundtechniken der Powershell.
    Microsoft bietet dazu kostenlose Seminare in der Virtual Academy an.

    $Uservariable = @()
    $Stadtvariable = "XYZ"
    $Uservariable = Get-Aduser -Filter {City -eq $Stadtvariable} -Properties * | Select Samaccountname, City
    $Ordnervariable = @()
    For($i = ($Uservariable.Count - $Uservariable.Count); $i -lt $Uservariable.Count; $i++){
    	$Ordnervariable[$i] = "\\"+$Stadtvariable+".net\de\users\de"+$username[$i]
    	If($Uservariable[$i].Samaccountname -match $Ordnervariable[$i] -and $Uservariable[$i].City -match $Ordnervariable[$i]){
    		Write-Host "Ordner für $Uservariable[$i].Samaccountname existiert" 
    	}
    	ELSE{
    		Write-Host "Ordner für $Uservariable[$i].Samaccountname existiert nicht"
    	}
    }

    Habs doch mal soweit es mir in den Sinn kam ergänzt ....

    Aber schau dich in der Virtual Academy um, haben echt guten Content!

    Grüße

    BeatYa





    Montag, 7. Mai 2018 09:57
  • Hallo,
    vielen vielen Dank für deinen Tipp - werde mich mal in der Academy umschauen.

    Viele Grüße

    Montag, 7. Mai 2018 10:51
  • Hier, damit Du nicht lange suchen musst:

    https://mva.microsoft.com/en-us/training-courses/getting-started-with-powershell-3-0-jump-start-8276

    ... nicht wundern, da geht's um Powershell Version 3, aber die Grundlagen sind immernoch die Gleichen.


    Best regards,

    (79,108,97,102|%{[char]$_})-join''

    Montag, 7. Mai 2018 11:52