吐出我们的随机命令问题的脚本 [Powershell]

Script that spits our random command problem [Powershell]

$k = get-command -all | measure | select-object count
$result = $k -replace "[{}@Count=]", ""
$rand = get-random -maximum $result
$minrand = $rand - 1
get-command -all -totalcount $rand | Select-Object -skip $minrand

这应该吐出一个命令,别名,cmdlet 等等。我希望这对学习 PowerShell 有用。

问题是它一遍又一遍地吐出相同的命令。

你的代码很复杂。你可以这样做:

$Commands = Get-Command -All

然后保留 运行 这个:

Get-Random $Commands

每次得到一个随机不同的命令。


关于您的代码,您永远不需要这样做(这会 return 一个字符串结果):

$k = get-command -all | measure | select-object count
$result = $k -replace "[{}@Count=]", ""

你应该这样做:

$k = get-command -all | measure | select-object count
$result = $k.count

通过它您可以访问 $k 的计数 属性 并获取其整数值。

PowerShell returns 具有属性的对象,因此当您经常在控制台中看到基于字符串的结果时,当您想要操作这些结果时,您应该使用对象属性。将对象传送到 Get-Member 是发现对象属性(及其方法等)的好方法。例如尝试:

$k | Get-Member

查看其属性。

Get-HelpGet-CommandGet-Member 是从 shell.

中发现和学习 PowerShell 的最有用的 3 个工具