none
obscurity of ConverTo-Html RRS feed

  • Allgemeine Diskussion

  • Hi Scripting Folks.

    I'm stuck in troubleshooting and hope get some assistance here. Any tip, hint, etc is welcome.

    Problem:
    I do have 2 arrays (system.array) that contain ACL information for a certain directory.

    $users={domain\user1, domain\user2, ..., domain\user(n)}
    $parentgroups={domain\group1, domain\group2, ...domain\group(n)}

    $users is never empty and contains an array of active directory accounts
    $parentgroups is allow being empty but usually contains $users membership(s).

    When I pipe both $users & $parentgroups to e.g. out-file $report -append I'm happy with content.
    When I pipe both $users & $parentgroups to ConverTo-Html [parameterset] $parentgroups screws up to "system.object[]" instead to groups names. Ha? What's that about?
    Again, if someone can pin my attention in the right direction I'd be grateful.

    Regards, Rene
    [returning tomorrow]

    Dienstag, 21. September 2010 15:53

Alle Antworten

  • Hi Rene

    this is a german speaking Forum. Please let us know if you have trouble continuing in german, so I can redirect your question to the appropriate english Forum.

    Could you please post the Script/Cmdlets used? It would ease the troubleshooting.

    How were the array members defined? As string or as user/group objects?

    Regards
    Andrei

    Mittwoch, 22. September 2010 10:56
    Moderator
  • Hallo Andrei.
    hallo Community.

    als Native-German habe ich natürlich keine Probleme mit der deutsche Sprache. Also, beschreibe ich mein Problem gern auch in Deutsch und etwas detaillierter (mit Skriptauszügen):

    Ich habe 2 arrays, welche ACL Informationen für ein Verzeichnis enthalten.

    $users2={domain\user1, domain\user2, ..., domain\user(n)}
    wird durch ein QAR cmdlet gefüttert:

    $users2 = get-qadgroupmember $my_acl_group -indirect -type user
    

    $parentgroups={domain\group1, domain\group2, ...domain\group(n)}
    wird mit der folgenden Schleife über die Elemente in $users2 gefüttert:

    foreach ($user in $users2) {
     $parentgroups = @()
     $memberships = $user.MemberOf
     foreach ($membership in $memberships) {
     foreach ($othergroup in $groups2) {
      If ($membership -eq $othergroup.DN) {
      $parentgroups += $othergroup
      }
     } #of $groups2
     } #of $memberships
     $user | Add-Member -membertype "Noteproperty" -Name "ParentGroups" -Value $parentgroups
    } #of foreach 
    
    $users2 | Sort-Object LogonName, ParentGroups `
        | <strong>ConvertTo-Html</strong> `
         -head $MyHtmlStyle `
         -CssUri "custom.css" `
         -title "$dir_wo_quotes - $my_acl_group - $my_acl_accesstype"   `
        | Set-Content $MyReport 
    

    $users2 ist (vermutlich) ein system.array aus Quest.PowerGUI.ScriptEditor.Shared.MonadObjectCollection Objekten
    $users  ist ein Quest.ActiveRoles.ArsPowerShellSnapIn.Data.ArsUserObject
    $users2 ist (vermutlich) ein system.array aus Quest.PowerGUI.ScriptEditor.Shared.MonadObjectCollection Objekten

    Mit den Bezeichnungen der OO kenne ich mich nicht gut aus, da ich eher in der Unix Shell Programmierung zu Hause bin.

    Gruß, René

    Mittwoch, 22. September 2010 12:55
  • Hat Niemand eine Idee, was hier falsch läuft?

    Oder kennt Jemand Restriktionen von ConverTo-Html?

    Gruß, René

    Donnerstag, 23. September 2010 12:37
  • Hallo René

    hast du schon probiert die erwünschten Eigenschaften per -Property Parameter abzugeben?

    $users2 | Sort-Object LogonName, ParentGroups `
      | <strong>ConvertTo-Html</strong> `
       -head $MyHtmlStyle `
       -CssUri "custom.css" `
       -Property LogonName
       -title "$dir_wo_quotes - $my_acl_group - $my_acl_accesstype"  `
      | Set-Content $MyReport 
    
    

    http://technet.microsoft.com/en-us/library/dd347572.aspx

    Gruß
    Andrei

    Freitag, 24. September 2010 08:52
    Moderator
  • Guten morgen zusammen.
    Hallo Andrei.

    ja, sicher. Aber 'LogonName' ist nicht das Problem, sondern 'ParentGroups'.

    Die Properties von 'LogonName' sind default, diejenigen eines AD Accounts, wie z.B.: 
    DisplayName Property System.String DisplayName {get;}
    DN Property System.String DN {get;}
    usw

    'ParentGroups' hat leider keine Properties, was wesentlich interessanter gewesen wäre.

    Den TechNet Artikel kenne ich natürlich, war aber trotzdem hilfreich nochmal dort zu schauen. Dort steht " Converts Microsoft .NET Framework objects into HTML that can be displayed in a Web browser."

    Ich befürchte 'ParentGroups' ist aber eher ein Quest.PowerGUI.ScriptEditor.Shared.MonadObjectCollection Objekt. So dass ich nur vermuten kann, dass die Funktion ConvertTo-Html nicht in der Lage ist, andere Nicht-MS-Objekte vernünftig zu konvertieren.

    Hat Jemand schon Erfahrungen mit der Konvertierung von "Nicht-Microsoft .NET Framework Objekten" gemacht?

    Das wäre doch ein guter Ansatz.

    Grüße, René

    Montag, 27. September 2010 07:28
  • ... oder hat Jemand Kentnisse über eine alternative Aufbereitung zweit Daten-Objekte, so dass diese besser lesbar sind als normaler Text/CSV/etc?

    Grüße, René

    Montag, 27. September 2010 08:35