• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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组件。用它来自定义对象有点大材小用了。

    演习

    $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
    
    
    
    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 抗震救灾();
    

    您可能感兴趣的文章:
    • MySQL mysqldump命令使用详解
    • Oracle常用dump命令,记录一下备查。
    • mysql数据库备份及恢复命令 mysqldump,source的用法
    • Mysql导入导出工具Mysqldump和Source命令用法详解
    • Linux tcpdump操作命令详解
    • Linux tcpdump命令的用法详细解析
    • linux使用tcpdump命令监视指定网络数据包的方法
    • 使用MySQL MySqldump命令导出数据时的注意事项
    • PHP使用mysqldump命令导出数据库
    • mysqldump命令导入导出数据库方法与实例汇总
    • Linux下使用tcpdump抓包的实现方法
    • Linux 命令每天必学(34)之du命令
    上一篇:PowerShell小技巧之使用Hotmail账号发送邮件
    下一篇:PowerShell小技巧之从函数中返回多个值
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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