Com propriedades de objeto, "Nome" é uma propriedade somente leitura e, portanto, não pode ser alterada durante o tempo de execução.
$objTest = New-Object -TypeName PSObject -Property @{ Foo = 42; Bar = 99 }
$objTest.PSObject.Properties["Foo"].Name # Output: Foo.
$objTest.PSObject.Properties["Foo"].Name = "NotFoo" # Output: 'Name' is a ReadOnly property.
Uma alternativa para criar uma nova propriedade e copiar valores pode ser criar um novo " AliasProperty ", que é uma nova propriedade (com seu próprio nome) que é simplesmente vinculada a uma propriedade existente.
por exemplo:
PS Y:\> $objTest | Add-Member -MemberType AliasProperty -Name Notfoo -Value Foo
PS Y:\> $objtest
Bar Foo Notfoo
--- --- ------
99 42 42
PS Y:\> $objtest.Foo = 123
PS Y:\> $objtest
Bar Foo Notfoo
--- --- ------
99 123 123