Get-Member is a PowerShell cmdlet that shows the properties, methods, and other members of an object passed to it. It is used to inspect object structure so you can see what data fields and operations are available for later commands in the pipeline.
What Get-Member shows and why it matters
Get-Member reveals the shape of an object, including its properties, methods, and other available members. That matters because PowerShell is object-centric, so knowing what an object can do is often the difference between a successful pipeline and a failed command.
It is especially useful when you receive output from a cmdlet, a script, or an API response and need to determine which fields are present before you reference them. Instead of guessing, you inspect the object first and then choose the right property or method to consume downstream.
How it fits PowerShell pipelines
Get-Member is most valuable in discovery mode. A pipeline may return objects from different commands, and those objects are not always obvious from their display output. Get-Member lets you see the underlying members rather than the formatted text you happen to view on screen.
This distinction matters because the pipeline passes objects, not just strings. The visible table or list you see may hide properties that still exist, while Get-Member exposes the full member set so you can make reliable decisions about filtering, selection, formatting, or method calls.
Common ways it is used
Practitioners use Get-Member when they are exploring unfamiliar commands, validating assumptions about returned data, or troubleshooting why a property reference fails. It is a quick way to confirm whether a member exists and whether it is a property, script method, note property, or another member type.
It is also useful when comparing different object types that may look similar in output but behave differently in code. Two objects can print the same visible columns yet expose different methods or hidden members, so member inspection is often the safest starting point before automation logic is written.
Limits and interpretation
Get-Member tells you what is available on the object you passed in, but it does not explain business meaning, data quality, or whether every property is populated. A property can exist and still be null, empty, or context-dependent, so the command is a structural inspection tool rather than a validation tool.
It can also reflect the type of object currently flowing through the pipeline, which means formatting choices and intermediate commands can change what you are inspecting. For that reason, it is best used close to the source of the object when you need an accurate view of its native members.
Practitioner Guidance
Why practitioners should care: Get-Member is one of the fastest ways to reduce uncertainty in PowerShell automation. If a script depends on object properties or methods, verifying the member set early prevents brittle assumptions and makes pipeline logic more reliable.
What to watch for: Pay attention to the object type and member names, not the display format. A command that renders neatly in the console may still expose additional members that are only visible through inspection, and those are often the ones you need for robust scripting.
Related resources from NHI Mgmt Group
- What do C++ teams get wrong about polymorphic base classes and special member functions?
- What do credit unions get wrong when they try to digitise member services too quickly?
- What do organisations get wrong about segregation of duties in federated environments?
- What do security teams get wrong about session tokens and MFA?
Deepen Your Knowledge
Free weekly newsletter
Subscribe to the NHI & AI Identity Journal
The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.
Bonus 33% off our NHI Course when you subscribe.
Reviewed and updated by the NHIMG editorial team on October 29, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org