如何在PowerShell中创建只读成员?

Bil*_*ill 5 powershell cmdlets

当我Add-Member在Powershell中使用cmdlet 时,如何使成员只读?

基本上,我想添加一个System.Diagnostic.Process具有readonly属性的成员.

man*_*lds 8

像这样:

 $p = new-object System.Diagnostics.Process
 $p | Add-member -Name thisisreadonly -membertype scriptproperty -value { 6}
 $p.thisisreadonly #gives 6
 $p.thisisreadonly = 5 #error- Set accessor for property "thisisreadonly" is unavailable.
Run Code Online (Sandbox Code Playgroud)

所以基本上你创建一个ScriptProperty,带有getter但没有setter.

  • 值得一提的是,add-member的-secondvalue参数用于提供"setter". (3认同)