找到 463 篇文章 关于 PowerShell

解释 PowerShell 高级函数中的 ValueFromPipeline。

Chirag Nagrekar
更新于 2020年5月4日 07:15:45

5K+ 次浏览

考虑下面的例子,我们创建了一个高级函数来获取特定的进程信息,例如进程名称、进程 ID (PID)、启动时间、响应状态等。
function Get-ProcessInformation{
  [cmdletbinding()]
  param(
    [Parameter(Mandatory=$True)]
    [string[]]$name
  )
  Begin{
    Write-Verbose "程序已启动"
  }
  Process{
    Write-Verbose "正在提取进程信息"
    Get-Process $name | Select Name, ID, StartTime, Responding | ft - AutoSize
  }
  End{
    Write-Verbose "函数在此结束"
  }
}以上是高级函数示例。当我们运行上述命令时,它将给出……阅读更多

解释 PowerShell 高级函数中的 AllowEmptyString() 和 AllowEmptyCollection()。

Chirag Nagrekar
更新于 2020年5月4日 07:04:15

4K+ 次浏览

AllowEmptyString() 属性用于字符串变量,而 AllowEmptyCollection() 用于不同数据类型的数组(集合)。考虑下面的例子。在这里,我们使用了一个强制变量 $name(字符串)和 $stringarray(字符串数组)。
function print_String{
  [cmdletbinding()]
  param(
    [parameter(Mandatory=$True)]
    [string]$name,
  )
  Write-Output "正在写入单个字符串"
  $name
}如果我们获取上述变量的输出,它将生成以下错误:
PS C:\WINDOWS\system32> print_String
cmdlet print_String at command pipeline position 1
Supply values for the following parameters:
name:
print_String : Cannot bind argument to……阅读更多

解释 PowerShell 高级函数中的 Mandatory 属性。

Chirag Nagrekar
更新于 2020年5月4日 07:01:04

372 次浏览

下面是一个 PowerShell 高级函数的示例,我们将尝试了解强制参数是如何工作的。
function math_Operation{
  [cmdletbinding()]
  param([int]$val1, [int]$val2)
  Write-Host "乘法:$($val1*$val2)"
  Write-Host "加法:$($val1+$val2)"
  Write-Host "减法:$($val1-$val2)"
  Write-Host "除法:$($val1+$val2)"
}当你执行上述示例并且没有提供值时,脚本不会要求你提供值,它将默认采用值并执行程序。请参见下面的执行结果。
PS C:\WINDOWS\system32> math_Operation
乘法:0
加法:0
减法:0
除法:0
即使你已经提到了两个变量($val1……阅读更多

解释 PowerShell 高级函数。

Chirag Nagrekar
更新于 2020年5月4日 06:56:58

604 次浏览

在开始学习 PowerShell 高级函数之前,假设我们已经了解了 PowerShell 函数。你可以在下面查看关于 PowerShell 函数的解释。
https://tutorialspoint.com/explain-the-powershell-function
在这里,我们将以计算不同类型运算的数学函数为例。我们已经有一个简单的函数代码,如下所示。
function math_Operation{
  param([int]$val1, [int]$val2)
  Write-Host "乘法:$($val1*$val2)"
  Write-Host "加法:$($val1+$val2)"
  Write-Host "减法:$($val1-$val2)"
  Write-Host "除法:$($val1+$val2)"
}以上是简单函数的例子。当你运行上述代码并从终端运行函数时,你会注意到……阅读更多

如何在 PowerShell 函数中传递参数?

Chirag Nagrekar
更新于 2020年4月17日 12:36:16

18K+ 次浏览

你可以在 PowerShell 函数中传递参数,要捕获这些参数,你需要使用参数。通常,当你使用函数外部的变量时,你不需要传递参数,因为变量本身是公共的,可以在函数内部访问。但在某些情况下,我们需要将参数传递给函数,下面的示例解释了如何编写相应的代码。
在函数中传递单个参数,
function writeName($str){
  Write-Output "嗨!……$str"
}
$name = Read-Host "请输入姓名"
writeName($name)
在这里,我们正在传递……阅读更多

解释 PowerShell 函数中的变量/数组作用域。

Chirag Nagrekar
更新于 2020年4月17日 12:34:31

228 次浏览

通常,当变量声明为公共变量或脚本中函数外部的变量(不在任何其他变量或条件中)时,你不需要将该值传递给函数,因为当在调用函数之前初始化变量时,函数会保留变量的值。
示例
function PrintOut{
  Write-Output "你的名字是:$name"
}
$name = Read-Host "请输入你的名字"
PrintOut
在上面的示例中,$name 变量是在名为 PrintOut 的函数外部声明的。因此,由于可以在函数内部读取该变量,你可以直接使用其名称来使用该变量。
输出
请输入你的名字……阅读更多

解释 PowerShell 函数。

Chirag Nagrekar
更新于 2020年4月17日 12:32:23

804 次浏览

PowerShell 中的函数是为了减少重复代码的冗余,这意味着重复的代码,将它们绑定到一个函数中,并在需要时调用该函数,这样你就不需要多次编写代码了。
示例
假设,你想一次性执行两个值 5 和 4 的算术运算(乘法、加法、除法和减法),那么你将为两个值编写不同的运算,或者你将值赋给名为 $val1 和 $val2 的变量,并在其上执行各种运算,如下面的示例所示。
$val1 = 5
$val2 = 4
$val1……阅读更多

如何在 PowerShell 中使用 Measure-Object?

Chirag Nagrekar
更新于 2020年4月7日 12:21:33

2K+ 次浏览

PowerShell 中的 Measure-Object 用于测量命令的属性。有各种可用的测量参数。例如,平均值、计数、总和、最大值、最小值等等。
示例
Get-Process | Measure-Object
输出
PS C:\WINDOWS\system32> Get-Process | Measure-Object
Count    : 278
Average   :
Sum      :
Maximum  :
Minimum  :
Property  :
在这里,在上面的输出中,共有 278 个进程正在运行。如果你想检查最大内存使用情况,你可以使用 WorkingSet 属性和 -Maximum 参数。
Get-Process | Measure-Object -Property WorkingSet -Maximum
输出
PS C:\WINDOWS\system32> Get-Process | Measure-Object……阅读更多

如何在 PowerShell 中使用 Group-Object cmdlet?

Chirag Nagrekar
更新于 2020年4月7日 12:18:10

689 次浏览

顾名思义,Group-Object 用于对相似的属性进行分组。
示例
Get-Service | Group-Object Status
输出
Count Name      Group
----- ----      -----
160 Stopped    {AarSvc_8f3023, AdobeFlashPlayerUpdateSvc, AJR outer, ALG…}
130 Running    {AdobeARMservice, Appinfo, AudioEndpointBuilder, Audiosrv…}
上面的输出按状态(“已停止”和“正在运行”)分组。共有 160 个服务处于已停止状态,130 个服务处于正在运行状态。
同样,你可以使用 starttype 属性过滤组。
Get-Service | Group-Object StartType
输出
PS C:\WINDOWS\system32> Get-Service | Group- Object StartType
Count Name      …阅读更多

如何在 PowerShell 中排序输出?

Chirag Nagrekar
更新于 2020年4月7日 12:25:24

11K+ 次浏览

要在 PowerShell 中对输出进行排序,你需要使用 Sort-Object Pipeline cmdlet。在下面的示例中,我们将从 Get-Process 命令检索输出,并根据内存和 CPU 使用情况对其进行排序。
示例
Get-Process | Sort-Object WorkingSet | Select -First 10
输出
Handles NPM(K)  PM(K)   WS(K)   CPU(s)  Id SI ProcessName
------- ------  -----   -----   ------  -- -- -----------
   0   0   60      8         0……阅读更多

广告