gpt4 book ai didi

powershell - 需要帮助将嵌入式对象分配给PowerShell脚本中的父对象

转载 作者:行者123 更新时间:2023-12-02 23:53:12 26 4
gpt4 key购买 nike

我对PowerShell相当陌生,我确信脚本之神会度过一个枯燥的日子,或者将其拒之门外。我已经阅读了很多有关创建对象以及将成员分配给对象的文档。许多帖子非常相似,但是我还没有找到可以直接回答我的问题的帖子。

以下是我要实现的示例。

$MGSet = New-Object -TypeName PSObject
$MgmtSet = New-Object -TypeName Cmdlet.WebService.MgInfo
$MgmtSet.Param1 = $true
$MgmtSet.Param2 = $false
$MgmtSet.oParam = [Cmdlet.WebService.ParamBase] @{
$PB.differentParam = "Testname"
$PB.DiffParam2 = $false
$PB.oDifParamOb = Add-Member -InputObject $MGset - MemberType NoteProperty -Name oDifParamOb -Value ("sys1", "Sys2", "Sys3")
}

首先我知道这是错误的,但是这个想法是Parent对象有一个对象作为参数之一。此外,新对象还具有一个嵌入式对象:Parentobject> childobject> baseobject

如果我要执行...
$MgmtSet = New-Object -TypeName Cmdlet.WebService.MgInfo
$MgmtSet

我会得到
ExtensionData                       :
Param1 : True
Param2 : False
oParam : {Cmdlet.WebService.ParamBase}

如果执行相同的 token
$MgmtSet = New-Object -TypeName Cmdlet.WebService.ParamBase
$MgmtSet

我会得到
ExtensionData                       :
differentParam : Testname
DiffParam2 : False
oDifParamOb :

目标是为嵌入式对象分配值,并将其传递给父对象。我可以使用数组或哈希表,但是将这些对象分配给父对象是我的不足。

提前谢谢你。

最佳答案

由于涉及的两种类型似乎都具有无参数的构造函数,因此应通过哈希表对其进行初始化;同样,可以创建自定义对象$MGSet通过将哈希表强制转换为[pscustomobject]进行内联:

$MgmtSet = [Cmdlet.WebService.MgInfo] @{
Param1 = $true
Param2 = $false
oParam = [Cmdlet.WebService.ParamBase] @{
differentParam = "Testname"
DiffParam2 = $false
oDifParamOb = [pscustomobject] @{ oDifParamOb = "sys1", "Sys2", "Sys3" }
}
}

关于powershell - 需要帮助将嵌入式对象分配给PowerShell脚本中的父对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53199670/

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