• pssnapin


    Attributes provide a powerful method of associating declarative information with C# code (types, methods, properties, and so forth). Once associated with a program entity, the attribute can be queried at run time using a technique called Reflection.

    For more information, see DllImportAttribute Class. 一般来讲,帮助文档与书籍的区别是书籍更系统,逻辑性强,一步一步照做可以完成。而帮助文档更详细,却没有逻辑。

    在纸上作笔记太慢,特别是有时候需要抄一段代码做注释;但电脑上,如博客笔记则排版不方便。可以开发一个在pad上的程序?利用pdf技术【天真的想想】

     1 using System;
     2 using System.Management.Automation;
     3 using System.ComponentModel;
     4 namespace file_touch
     5 {
     6     [RunInstaller(true)]
     7     public class MySnapIn:PSSnapIn
     8     {
     9         public override string Name
    10         {
    11             get
    12             {
    13                 return "Wiley";
    14             }
    15         }
    16         public override string Vendor
    17         {
    18             get
    19             {
    20                 return "Wiley_Vendor";
    21             }
    22         }
    23         public override string Description
    24         {
    25             get
    26             {
    27                 return "This is a snap-in sample";
    28             }
    29         }
    30     }
    31 
    32     [Cmdlet(VerbsCommunications.Write,"Hi")]
    33     public class SayHi:Cmdlet
    34     {
    35         protected override void ProcessRecord()
    36         {
    37             WriteObject("Hi,World");
    38         }
    39     }
    40     //[Cmdlet(VerbsCommunications.Write,"Hello") ]
    41     public class SayHello:Cmdlet
    42     {
    43         protected override void ProcessRecord()
    44         {
    45             WriteObject("Hello,World");
    46         }
    47     }
    48 }

    上面的是第一个powershell的开发程序。开发了两个非常简单的cmdlet。需要先编译成dll文件(通过vs2008环境,可能需要手动加入automation链接库,与更新install库)再通过installutil注册,通过add-pssnapin加载到powershell中,就可以调用。

    其中,installutil的用法:installutil *.dll(-u参数u反注册)

    通过get-pssnapin -registered可以得到已经注册的snapin的名字。(相应的remove-pssanpin完成删除)

    add-pssnapin (snapin的名字)来加载。

    另外,程序中的方括号为c#语言的属性。当把第6行属性注释,则程序的dll文件无法完成注册;当把40行注释,则helloworld类没有生成cmdlet,通过get-command Write_h*发现,只生成了Write-hi 。

  • 相关阅读:
    python学习笔记(六)---文件操作与异常处理机制
    python学习笔记(五)---函数与类
    python学习笔记(四)---用户输入与while循环
    python学习笔记(三)---字典
    python学习笔记(二)---for循环与操作列表
    python学习笔记(一)---字符串与列表
    HTML
    80386汇编
    8086汇编语言
    网络设备配置--2、通过交换机划分vlan
  • 原文地址:https://www.cnblogs.com/xtypeu/p/3148704.html
Copyright © 2020-2023  润新知