关于PS4以上的一个新方法



最近在无意中发现一个PSCmdlet中的新的方法,应该在PS3.0 以上都会有

2.0 由于实在懒得弄个demo所以没验证,估计没有

这里还得提一下 某不给代码就喷的孩子 如果你要喷出门左转 不谢!

由于我是在C# 开发Cmdlet中无意发现 理论上用ps自己也可以

我们先来说说几个常用的方法

Cmdlet.WriteObject(object) 向管道写入对象 事实上我们用这个方法将命令结果抛出

Cmdlet.WriteVerbose(string) 向管道写详细信息流

Cmdlet.WriteProgress(System.Management.Automation.ProgressRecord) 写进度条

Cmdlet.WriteDebug(string) 向管道写调试信息流

Cmdlet.WriteWarning(string) 向管道写警告流

新版加了一个新的方法

Cmdlet.WriteCommandDetail(string) 向管道中写入执行日志


什么是执行日志呢

就是一个日志而已专门记录PS 日志

日志名称 Windows PowerShell

如下所示


关于PS4以上的一个新方法_微软雅黑


这个方法可以在

BeginProcessing()

ProcessRecord()

EndProcessing()

这三个重载方法中使用 用于记录信息到日志

例如

protectedoverridevoid EndProcessing()

{

WriteCommandDetail("adadads");

}


最后的效果如下

关于PS4以上的一个新方法_微软雅黑_02

该方法微软原文

https://msdn.microsoft.com/en-us/library/partnercenter/system.management.automation.cmdlet.writecommanddetail