Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

As a developer for the .NET platform, I like to "explore" a platform, framework or API by browsing through the API documentation which explains what everything is - everything is covered and when I use tools like Reflector or Object Browser then I get to know for certain what I'm working with. When I'm writing my own software I can use tools like the Object Test Bench to explore and work with my classes directly. I'm looking for something similar, but for PowerShell - and ones that avoid text-mode.

PowerShell is nice, and there are a lot of cool "discoverability"-things it has, such as the "Verb-Noun" syntax, however when I'm working with Exchange Server, for example, I wanted to get a list of AD Permissions on a Receive Connector and I got this list:

        [PS] C:\Windows\system32>Get-ADPermission "Client SVR6" -User "NT AUTHORITY\Authenticated Users" | fl


User                : NT AUTHORITY\Authenticated Users
Identity            : SVR6\Client SVR6
Deny                : False
AccessRights        : {ExtendedRight}
IsInherited         : False
Properties          :
ChildObjectTypes    :
InheritedObjectType :
InheritanceType     : All

User                : NT AUTHORITY\Authenticated Users
Identity            : SVR6\Client SVR6
Deny                : False
AccessRights        : {ExtendedRight}
IsInherited         : False
Properties          :
ChildObjectTypes    :
InheritedObjectType :
InheritanceType     : All

User                : NT AUTHORITY\Authenticated Users
Identity            : SVR6\Client SVR6
Deny                : False
AccessRights        : {ExtendedRight}
IsInherited         : False
Properties          :
ChildObjectTypes    :
InheritedObjectType :
InheritanceType     : All

User                : NT AUTHORITY\Authenticated Users
Identity            : SVR6\Client SVR6
Deny                : False
AccessRights        : {ExtendedRight}
IsInherited         : False
Properties          :
ChildObjectTypes    :
InheritedObjectType :
InheritanceType     : All

User                : NT AUTHORITY\Authenticated Users
Identity            : SVR6\Client SVR6
Deny                : False
AccessRights        : {ExtendedRight}
IsInherited         : False
Properties          :
ChildObjectTypes    :
InheritedObjectType :
InheritanceType     : All

User                : NT AUTHORITY\Authenticated Users
Identity            : SVR6\Client SVR6
Deny                : True
AccessRights        : {ReadProperty}
IsInherited         : True
Properties          : {ms-Exch-Availability-User-Password}
ChildObjectTypes    :
InheritedObjectType : ms-Exch-Availability-Address-Space
InheritanceType     : Descendents

[PS] C:\Windows\system32>

Note how the first few entries contain identical text - there's no way to tell them apart easily. But if there was a GUI presumably it would let me drill-down into the differences better.

Are there any tools that do this?

share|improve this question

closed as off topic by Sven, mdpc, Bryan, Tom O'Connor, Zoredache Dec 12 '12 at 23:55

Questions on Server Fault are expected to relate to professional server, networking, or related infrastructure administration within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

1 Answer 1

If you want a GUI, upgrading to PowerShell 3 helps, it has the Show-Command commandlet, where you type a name-fraction of any available command and get the parameters and the help for it in a Windows rather than on the command line.

This only works for commands though, it doesn't know about the thousands of objects that you may use and their properties.

In your case, you are using | format-list (fl) to list properties of an AD object. That usually display some of the properties of the object but not all, try:

fl *

to show all properties for the object, or specify the property names you are interested in:

fl User,Identity

the full syntax would be:

format-list -property User,Identity
share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.