Add Member - PowerShell


The Add-Member command dynamically adds new members (properties or methods) to existing .NET objects in PowerShell. It extends the functionality of objects, allowing for seamless customization and enhanced object manipulation capabilities.


Add-Member -InputObject <object> [-MemberType <type>] [-Name <name>] [-Value <value>] [-Force]


  • -InputObject : Specifies the object to which new members will be added.
  • -MemberType : Defines the type of member to add (Property or Method). Default is “Property”.
  • -Name : Specifies the name of the new member.
  • -Value : Sets the initial value for the new member.
  • -Force: Overwrites existing members with the same name without prompting.


Add a property to an existing object:

PS> $obj = New-Object -TypeName PSObject
PS> Add-Member -InputObject $obj -Name "ExampleProperty" -Value "Example Value"

Add a property with a specific type:

PS> Add-Member -InputObject $obj -Name "ExampleIntProperty" -MemberType "Int32" -Value 100

Add a method to an object:

PS> Add-Member -InputObject $obj -MemberType "Method" -Name "ExampleMethod" -Value { "ExampleMethod executed!" }

Common Issues

  • Error adding duplicate members: Adding a member with the same name as an existing member will result in an error unless the -Force flag is used.
  • Invalid member types: Ensure the specified member type is valid for the object. For instance, you cannot add a method to a primitive type.


Add-Member can be used in conjunction with other PowerShell commands for advanced customization:

  • Use Get-Member to inspect the existing members of an object before adding new ones.
  • Combine Add-Member with Select-Object to extract specific members from the extended object.
  • Integrate Add-Member into scripts to create custom objects with desired properties and methods.
  • Get-Member: Retrieves members of an object.
  • Remove-Member: Removes members from an object.
  • Set-Member: Sets values of existing members.