Fragensteller
obscurity of ConverTo-Html

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]- Typ geändert Denniver ReiningMVP, Moderator Freitag, 30. Juni 2017 10:35
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 -
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 ObjektenMit den Bezeichnungen der OO kenne ich mich nicht gut aus, da ich eher in der Unix Shell Programmierung zu Hause bin.
Gruß, René
-
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 -
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é