gpt4 book ai didi

powershell - 提取/查看 ScriptMethod 的值

转载 作者:行者123 更新时间:2023-12-03 21:28:18 24 4
gpt4 key购买 nike

我对 powershell 相当陌生,正在不断挖掘、学习。

具体来说,我想知道如何查看与重写方法或添加的 ScriptMethod 相关的代码。

cmdlet:Get-Service 返回一个对象,该对象具有名为 ToStringScriptMethod MemberType

PS> Get-Service | Get-Member -MemberType ScriptMethod 

TypeName: System.ServiceProcess.ServiceController

Name MemberType Definition
---- ---------- ----------
ToString ScriptMethod System.Object ToString();

我知道您可以使用 Add-Member cmdlet 来覆盖底层 .NET ToString(),例如:

$gps = Get-Process s* | Select-Object -First 3 | Add-Member -MemberType ScriptMethod -Name ToString -Value {$this.Name} -PassThru -Force

注意:Get-Process 使用默认的 .NET ToString(),但可以使用 Add-Member cmdlet 覆盖。

但是如何从实现 ScriptMethod MemberType 的对象中提取 -Value {some_code} 呢?

我一直在寻找这个问题的答案,但没有结果。

有人知道吗?

干杯。

最佳答案

使用Script属性或get_Script方法:

(Get-Service | Select-Object -First 1).ToString | Get-Member -Force


TypeName: System.Management.Automation.PSScriptMethod

Name MemberType Definition
---- ---------- ----------
...
get_Script Method scriptblock get_Script()
...
Script Property scriptblock Script {get;}
...

示例:

(Get-Service | Select-Object -First 1).ToString.Script

结果:

$this.ServiceName

关于powershell - 提取/查看 ScriptMethod 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29562252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com