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

所属分类: 脚本专栏 / PowerShell 阅读数: 1743
收藏 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脚本开发之收发TCP消息包

这篇文章里将会描述如何在PSNet包中创建针对TCP消息包的函数Receive-和TCPMessageSend-TCPMessage。并把相关代码分享给大家,有需要的朋友可以参考下。
收藏 0 赞 0 分享

PowerShell脚本开发之收发UDP消息包

上篇文章我们介绍了使用PowerShell收发TCP消息包,今天我们来介绍下使用Powershell收发UDP小细胞的方法
收藏 0 赞 0 分享

PowerShell脚本开发尝试登录SQL Server

本文创建了PSSecurity工具集,介绍了通过PowerShell尝试登录SQLServer的方法,此种方法可以用于暴力破解和穷举账户密码,穷举就需要依靠比较全面的字典的支持了。
收藏 0 赞 0 分享

PowerShell脚本开发之批量扫描IP和端口

最近在不断尝试之下,找到了对指定范围的IP段进行扫描和对端口进行扫描的方法,本文将会介绍如何通过PowerShell批量扫描IP及其对应的端口。
收藏 0 赞 0 分享

PowerShell脚本开发之尝试登录ftp

本文和后续的文章将会试图通过PowerShell实现对上述潜在攻击点的弱密码尝试,本文首先针对ftp的密码尝试。记录下全过程,有需要的朋友可以参考下。
收藏 0 赞 0 分享

PowerShell入门教程之PowerShell有什么用?

这篇文章主要介绍了PowerShell入门教程之PowerShell有什么用?本文讲解了PowerShell的三大作用,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell入门教程之PowerShell和Cmd命令行的关系?

这篇文章主要介绍了PowerShell入门教程之PowerShell和Cmd命令行的关系?本文讲解了PowerShell中的CMD命令、PowerShell与Cmd命令行的关系、Cmd命令行会被PowerShell替代吗等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell入门教程之快速学习PowerShell的几个方法

这篇文章主要介绍了PowerShell入门教程之快速学习PowerShell的几个方法,本文提出了3种快速学习PowerShell的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell入门教程之高效使用PowerShell交互式运行环境的几个小技巧

这篇文章主要介绍了PowerShell入门教程之高效使用PowerShell交互式运行环境的几个小技巧,本文也可以说是使用PowerShell的一些好习惯,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell入门教程之Cmd命令与PowerShell命令相互调用的方法

这篇文章主要介绍了PowerShell入门教程之Cmd命令与PowerShell命令相互调用的方法,本文讲解了在Cmd命令中调用PowerShell命令、在PowerShell命令中调用Cmd命令的方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多