Powershell小技巧之查找脚本中的函数
更新时间:2014年09月28日 17:20:50 投稿:hebedich
这篇文章主要介绍了使用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重启服务命令Restart-Service详细介绍
这篇文章主要介绍了PowerShell重启服务命令Restart-Service详细介绍,Restart-Service命令主要用来重启一些系统级的服务,需要的朋友可以参考下2014-08-08Powershell直接脚本时出现无法加载文件因为禁止执行脚本
Powershell直接脚本时出现无法加载文件因为在此系统中禁止执行脚本,有关此问题的解决方法如下2014-08-08PowerShell入门教程之快速学习PowerShell的几个方法
这篇文章主要介绍了PowerShell入门教程之快速学习PowerShell的几个方法,本文提出了3种快速学习PowerShell的方法,需要的朋友可以参考下2014-10-10添加powershell脚本来解决nuget打包文件丢失问题
这里给大家分享的是作者在使用nuget打包的过程中遇到丢失文件的问题的时候使用powershell脚本实现的解决办法,非常的巧妙,这里推荐给大家2017-11-11PowerShell中使用.NET将程序集加入全局程序集缓存
这篇文章主要介绍了PowerShell中使用.NET将程序集加入全局程序集缓存,本文介绍了两种方法实现把程序集加入全局程序集缓存,着重讲解了使用.Net的类库解决这个需求,需要的朋友可以参考下2015-06-06
最新评论