none
Format der Daten von Get-ADUser RRS feed

  • Frage

  • Hallo zusammen,

    Ich habe ein kleines Problem, und hoffe das PS Forum kann mir ein Wink mit dem Zaunpfahl geben.

    Folgendes: Ich muss bei fast allen Benutzer einer Domain die Berechtigungen für den Kalender ändern.  Dies funktioniert mit

    set-MailboxFolderPermission -Identity $user:\Kalender -USER DEFAULT -AccessRights LimitedDetails 

    wunderbar.

    Ich ziehe mir also mit Get-ADUser alle entsprechenden User aus dem AD

    $list = Get-ADUser -Filter * | Where-Object {
        $_.SamAccountName -ne "abc" -and 
        $_.SamAccountName -ne "abc" -and 
        $_.SamAccountName -ne "abc" -and 
        $_.SamAccountName -ne "abc" -and 
        $_.SamAccountName -ne "abc" -and
        $_.SamAccountName -ne "abc" -and
        $_.SamAccountName -ne "abc" -and
        $_.SamAccountName -ne "abc" } | Where-Object {$_.SamAccountName.length -eq 3} | ft SamAccountname 


    und wollte nun mit dieser Foreach Schleife:

    $strDoppelpunkt =":"

    foreach ($user in $list) { set-MailboxFolderPermission -Identity $user$strDoppelpunkt\Kalender -USER DEFAULT -AccessRights LimitedDetails }

    die einzelnen User "abarbeiten". Jeder $user in der $list gibt aber anstatt des gewünschten Sam Account name nur Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData zurück. Meine Frage: Wie kann ich die Daten aus Get-ADuser in ein passendes Format bringen(String-Array o.ä?)

    Oder gibt es einen andere Möglichkeit mit dem Objekt das ich von Get-ADuser bekomme zu arbeiten um mein Ziel zu erreichen.

    Viele Grüße und vielen Dank für die Hilfe


    Carsten

    Dienstag, 27. November 2012 11:00

Antworten

  • Die Format-xxxx cmdlets sind NICHT dafür gedacht um Daten weiter zu verarbeiten!
    Diese sind dafür gedacht Daten am Bildschirm Anzuzeigen (oder in eine Textdatei auszugeben)!
    Format-Custom
    Format-List
    Format-Table
    Format-Wide

    Zum Selektieren einzelner Objektattribute gibt es das Select-Object Cmdlet

    $list = Get-ADUser -Filter * | Where-Object {
      $_.SamAccountName -ine "abc" -and
      $_.SamAccountName -ine "abc" -and
      $_.SamAccountName -ine "abc" -and
      $_.SamAccountName -ine "abc" -and
      $_.SamAccountName -ine "abc" -and
      $_.SamAccountName -ine "abc" } | Where-Object {$_.SamAccountName.length -eq 3} | Select-Object SamAccountName
     
      foreach($User in $List){
      $user.SamAccountName
      }


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!




    • Bearbeitet Peter Kriegel Dienstag, 27. November 2012 12:09
    • Als Antwort markiert Carsten_ Dienstag, 27. November 2012 12:54
    Dienstag, 27. November 2012 12:04

Alle Antworten

  • Die Format-xxxx cmdlets sind NICHT dafür gedacht um Daten weiter zu verarbeiten!
    Diese sind dafür gedacht Daten am Bildschirm Anzuzeigen (oder in eine Textdatei auszugeben)!
    Format-Custom
    Format-List
    Format-Table
    Format-Wide

    Zum Selektieren einzelner Objektattribute gibt es das Select-Object Cmdlet

    $list = Get-ADUser -Filter * | Where-Object {
      $_.SamAccountName -ine "abc" -and
      $_.SamAccountName -ine "abc" -and
      $_.SamAccountName -ine "abc" -and
      $_.SamAccountName -ine "abc" -and
      $_.SamAccountName -ine "abc" -and
      $_.SamAccountName -ine "abc" } | Where-Object {$_.SamAccountName.length -eq 3} | Select-Object SamAccountName
     
      foreach($User in $List){
      $user.SamAccountName
      }


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!




    • Bearbeitet Peter Kriegel Dienstag, 27. November 2012 12:09
    • Als Antwort markiert Carsten_ Dienstag, 27. November 2012 12:54
    Dienstag, 27. November 2012 12:04
  • Hallo Peter,

    vielen Dank für die schneller und korrekte Antwort!

    Hat mir sehr geholfen und gelernt habe ich auch etwas.

    Viele Grüße

    Carsten

    Dienstag, 27. November 2012 12:56