华域联盟 PowerShell Powershell小技巧之查找脚本中的函数

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

要快速获取你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小技巧之查找脚本中的函数

转载请保留出处和原文链接:https://www.cnhackhy.com/14556.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部