gpt4 book ai didi

PowerShell小技巧之使用New-Module命令动态创建对象

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章PowerShell小技巧之使用New-Module命令动态创建对象由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

还记得当年怎样在PowerShell中动态创建对象吧?今天要分享的方法不敢自诩高大上,但也足以让New-Object感到汗颜.

背景 在System Center Operation Manager中有个Management Pack,叫做:“Microsoft.SystemCenter.OperationsManager.SummaryDashboard”。在该MP中有个Discovery叫做:“Collect agent configurations”。该工作流中用到了一段脚本,其中使用了New-Module命令.

New-Module就是在内存中动态生成一个Module组件。用它来自定义对象有点大材小用了.

演习 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$PLA = New-Module {
  $名称 = ‘中国人民解放军'
  $军区 = @('沈阳军区','北京军区','济南军区','南京军区','广州军区','成都军区','兰州军区')
  $兵种 = @('海军','空军','第二炮兵')
 
  function 保卫党
  {
   return $true
  }
 
  function 保卫人民
  {
  return $null
  }
 
  function 抗洪抢险
  {
  return $true
  }
 
  function 抗震救灾
  {
  return $true
  }
 
  function 确认兵种
  {
  param($某兵种)
  if ($this.兵种.Contains($某兵种)){
   return $true
   }
  return $false
  }
  Export-ModuleMember -Variable * -Function *
 
} -AsCustomObject
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
PS> $PLA
 
兵种                      军区                     名称                    
--                      --                     --                    
{海军, 空军, 第二炮兵}                {沈阳军区, 北京军区, 济南军区, 南京军区...}         中国人民解放军                 
 
PS> $PLA.确认兵种(‘陆军')
False
PS> $PLA | Get-Member
 
 
   TypeName: System.Management.Automation.PSCustomObject
 
Name    MemberType  Definition           
----    ----------  ----------           
Equals   Method    bool Equals(System.Object obj) 
GetHashCode Method    int GetHashCode()        
GetType   Method    type GetType()         
ToString  Method    string ToString()        
兵种     NoteProperty System.Object[] 兵种=System.Object[]
军区     NoteProperty System.Object[] 军区=System.Object[]
名称     NoteProperty System.String 名称=中国人民解放军    
保卫人民    ScriptMethod System.Object 保卫人民();      
保卫党     ScriptMethod System.Object 保卫党();      
抗洪抢险    ScriptMethod System.Object 抗洪抢险();      
抗震救灾    ScriptMethod System.Object 抗震救灾();

最后此篇关于PowerShell小技巧之使用New-Module命令动态创建对象的文章就讲到这里了,如果你想了解更多关于PowerShell小技巧之使用New-Module命令动态创建对象的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

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