广州明生堂生物科技有限公司


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

网络编程 Powershell小技巧之查找脚本中的函数 06-21

要快速获取你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:UsersTobiasDesktop... 06.01.2014 02:43:00     

Test-Command               C:UsersTobiasDesktop... 06.03.2014 10:17:02     

Test                       C:UsersTobiasDesktop... 30.01.2014 09:32:20     

Get-WebPictureOriginal     C:UsersTobiasDesktop... 11.12.2013 11:37:53     

Get-ConnectionString       C:UsersTobiasDocumen... 23.05.2014 10:49:09     

Convert-SID2User           C:UsersTobiasDocumen... 23.05.2014 15:33:06     

Lock-Screen                C:UsersTobiasDocumen... 19.03.2014 12:51:54     

Show-OpenFileDialog        C:UsersTobiasDocumen... 16.05.2014 13:42:16     

Show-UniversalData         C:UsersTobiasDocumen... 16.05.2014 13:23:20     

Start-TimebombMemory       C:UsersTobiasDocumen... 23.05.2014 09:12:28     

Stop-TimebombMemory        C:UsersTobiasDocumen... 23.05.2014 09:12:28     

(...)

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

支持PS3.0及以后

PowerShell小技巧之启动远程桌面连接
以WindowsServer2012R2为例,其实非常简单。先启用远程连接:(gwmi-classwin32_terminalservicesetting-namespace"rootcimv2terminalservices").setallowtsconnections(1)然后再启用几

PowerShell小技巧之配置机器的静态IP
家用电脑安装了一台虚拟机,默认没有配置网络,本来是想利用PowerShell启用无线网络,可是安装过程需要在线获取一些文件,所以失败,无奈只能配置

PowerShell小技巧之添加远程防火墙规则
接着昨天的场景,虽然将WindowsServer2012Core的默认控制台设置成了PowerShell,还启用了远程桌面,但是对于Core版本的服务器来讲,远程桌面形同鸡肋,所


编辑:广州明生堂生物科技有限公司

标签:小技巧,远程桌面,脚本,函数,在线