• Cmdlet开发与学习(二)


          继续上一篇的内容,既然已经定义好了命令,那么我们还可以参数绑定,定义自己的参数对象。

          3.定义属性,即cmdlet参数对象

          参数绑定时基于cmdlet元数据进行的,cmdlet元数据是在命令发现过程中得到的。首先,基于cmdlet的类型(包括可执行程序,脚本文件,内置函数等),PowerShell实例化一个cmdlet。然后,通过查询cmdlet元数据中的参数信息,判断参数列表是否合法,或者,该命令参数是否需要参数值。

          参数绑定的实现相当简单,只需要对属性加上Parameter标示符即可。

     1     [Cmdlet(VerbsCommon.Get,"SQLServerBackupFile")]
     2     public class GetSQLServerBackup : PSCmdlet
     3     {
     4         private string path;
     5 
     6         [Parameter]
     7         public string Path
     8         {
     9             get { return path; }
    10             set { path = value; }
    11         }
    12         
    13     }

         

          4.重写cmdlet记录处理的方法

          参数绑定时,cmdlet类实例化得到一个实例对象。调用这个cmdlet实例对象的方法,就完成了命令调用过程。这些方法包括BeginProcessing(), ProcessRecord(), 和EndProcessing()

           BeginProcessing: 该方法包含只在命令初始化时执行一次的操作。

           ProcessRecord: 该方法被重写用来实现任务的主体。

           EndProcessing: 该方法用来包含实现收尾工作的操作。

           通常,需要在cmdlet类中重写这三个函数,但是并非必须的,也有cmdlet类只实现这三个方法中的一个或两个。

           

     1     [Cmdlet(VerbsCommon.Get,"SQLServerBackupFile")]
     2     public class GetSQLServerBackup : PSCmdlet
     3     {
     4         private string path;
     5 
     6         [Parameter]
     7         public string Path
     8         {
     9             get { return path; }
    10             set { path = value; }
    11         }
    12 
    13         protected override void ProcessRecord()
    14         {
    15             if (Directory.Exists(path))
    16             {
    17 
    18             }
    19             else
    20             {
    21 
    22             }
    23         }
    24     }

           

  • 相关阅读:
    安装部署Python开发环境
    CentOS系统常见优化
    chm文件打开无法显示
    数据库恢复技术
    视图的认识
    存储过程的认识
    error C2471: 无法更新程序数据库 ,fatal error C1083: 无法打开程序数据库文件
    ubuntu下使用aptget install下载安装文件管理
    转:[译文] 程序员的禅修之路
    数据库的两段锁协议
  • 原文地址:https://www.cnblogs.com/ByronsHome/p/3721367.html
Copyright © 2020-2023  润新知