Powershell小技巧之查找脚本中的函数

所属分类: 脚本专栏 / PowerShell 阅读数: 1769
收藏 0 赞 0 分享

要快速获取你PS脚本库中所有文件的函数名,你可以这样做:

复制代码 代码如下:

filter Find-Function
{
   $path = $_.FullName
   $lastwrite = $_.LastWriteTime
   $text = Get-Content -Path $path
   
   if ($text.Length -gt 0)
   {
      
      $token = $null
      $errors = $null
      $ast = [System.Management.Automation.Language.Parser]::ParseInput($text, [ref] $token, [ref] $errors)
      $ast.FindAll({ $args[0] -is [System.Management.Automation.Language.FunctionDefinitionAst] }, $true) |
      Select-Object -Property Name, Path, LastWriteTime |
      ForEach-Object {
         $_.Path = $path
         $_.LastWriteTime = $lastwrite
         $_
      }
   }
}

这将扫描出你用户配置文件夹下的所有PS脚本中的函数:

复制代码 代码如下:

PS> dir $home -Filter *.ps1 -Recurse -Exclude *.ps1xml | Find-Function
Name                       Path                       LastWriteTime          
----                       ----                       -------------          
Inject-LogonCredentials    C:\Users\Tobias\Desktop... 06.01.2014 02:43:00    
Test-Command               C:\Users\Tobias\Desktop... 06.03.2014 10:17:02    
Test                       C:\Users\Tobias\Desktop... 30.01.2014 09:32:20    
Get-WebPictureOriginal     C:\Users\Tobias\Desktop... 11.12.2013 11:37:53    
Get-ConnectionString       C:\Users\Tobias\Documen... 23.05.2014 10:49:09    
Convert-SID2User           C:\Users\Tobias\Documen... 23.05.2014 15:33:06    
Lock-Screen                C:\Users\Tobias\Documen... 19.03.2014 12:51:54    
Show-OpenFileDialog        C:\Users\Tobias\Documen... 16.05.2014 13:42:16    
Show-UniversalData         C:\Users\Tobias\Documen... 16.05.2014 13:23:20    
Start-TimebombMemory       C:\Users\Tobias\Documen... 23.05.2014 09:12:28    
Stop-TimebombMemory        C:\Users\Tobias\Documen... 23.05.2014 09:12:28    
(...)

将结果用管道传给Out-GridView 将能得到更完美的信息。

支持PS3.0及以后

更多精彩内容其他人还在看

Powershell小技巧之创建一个新对象

这篇文章主要介绍了使用Powershell简单有效的创建一个自定义对象的方法,非常的简单,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell小技巧之使用WMI工具

这篇文章主要介绍了Powershell使用WMI工具的小技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell小技巧之从文件获取系统日志

事件日志对于系统管理员的重要性自不待言,而基于图形界面的事件查看器毫无疑问是我们进行日志管理的首选工具,但绝不是最快捷的工具。其实,PowerShell提供了一种更简单的方式,利用它我们不仅可访问当前系统的事件日志,而且还可对数据进行排序、格式化等等。
收藏 0 赞 0 分享

Powershell小技巧之非相同域或信任域也能远程

这篇文章主要介绍了使用Powershell在非相同域或信任域也能远程的方法以及如何设置powershell远程处理的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell小技巧之开启关闭远程连接

这篇文章主要介绍了使用Powershell开启关闭远程连接的方法,非常简单实用,有需要的朋友可以参考下
收藏 0 赞 0 分享

使用HTTP api简单的远程执行PowerShell脚本

为了你能非常简单的远程执行PoweShell脚本,使用REST API是一个很好的选择,因为现在许多流行的编程语言都可以简单的执行HTTP的GET操作。
收藏 0 赞 0 分享

Powershell小技巧之使用WS-Man来调用PowerShell命令

大多Windows系统的管理员应当已经意识到在Windows系统上进行脚本开发和命令行管理,PowerShell首当其冲。微软许多产品和一些第三方产品都提供了Windows PowerShell的管理接口。但是目前PowerShell只能运行在Windows系统上,如何才能在非W
收藏 0 赞 0 分享

Windows Powershell For 循环

这篇文章主要介绍了Windows Powershell For 循环的定义、用法以及示例,非常简单实用,有需要的朋友可以参考下
收藏 0 赞 0 分享

Windows Powershell Switch 循环

这篇文章主要介绍了Windows Powershell Switch 循环以及PowerShell中数组可以与switch语句结合,产生意想不到的效果。
收藏 0 赞 0 分享

Windows Powershell 定义函数

这篇文章主要介绍了Windows Powershell 定义函数,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多