powershell使用总结

powershell使用总结

从bash切换到powershell后,有很多使用习惯上的差距。本文记录一些powershell 零碎的知识点。

PowerShell 中有关 xargs的替代方式

%{command $_}

Xargs 是最强大的 UNIX 命令之一。它用于从标准输入构建和执行命令行。例如:
$ cat dirs | xargs mkdir
将使用 cat 从文件 ‘dirs’ 中获取字符串(无论是换行符还是空白字符),并通过管道将它们传递给 xargs,然后 xargs 将一行一行作为参数发送给 mkdir。

PowerShell 等效项:PS> cat dirs | %{mkdir $_}

PS 中没有“xargs”命令,但您可以使用“foreach”循环并将管道变量“$_”传递给 mkdir。’foreach’ 的简写是’%’。

Where-Object根据对象属性值从集合选择对象

Where-Objectcmdlet 从传递给它的对象集合中选择具有特定属性值的对象。例如,您可以使用Where-Objectcmdlet 选择在特定日期之后创建的文件、具有特定 ID 的事件或使用特定 Windows 版本的计算机。

例如,以下命令获取 Normal 优先级类中的进程,即PriorityClass属性值等于 Normal 的进程。

 Get-Service | Where-Object {$_.Status -eq "Stopped"}

所有 PowerShell 比较运算符在脚本块格式中均有效。有关比较运算符的更多信息,请参阅 about_Comparison_Operators

Get-ScheduledTask 获取计划任务的定义对象

Get-ScheduledTask
   [[-TaskName] <String[]>]
   [[-TaskPath] <String[]>]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [<CommonParameters>]

该命令获取的计划任务信息太简略,建议使用schtasks获取。相关命令 Get-ScheduledTaskInfo 则只是获取计划任务的最后运行时信息,也不建议使用。

赞赏

微信赞赏支付宝赞赏

Zgao

愿有一日,安全圈的师傅们都能用上Zgao写的工具。

发表评论