Как запустить все командлеты, которые возвращает «Get-Command»? - PullRequest
0 голосов
/ 27 июня 2019

Я хочу запустить все командлеты, которые возвращает «Get-Command».

Идея будет запускать что-то вроде:

Get-Command Get-*Service | Where-Object {$_.Name -Like "Get-Service*"}

И для каждого возвращаемого командлета. Добавьте что-нибудь (например, имя службы) и запустите. Пока это то, что у меня есть:

function Do-InvokeCommand {
param( $CmdletName )

Write-Host "Will Invoke-Command: $CmdletName"
Invoke-Command -ScriptBlock {$CmdletName 'notepad'} 
}

$Cmdlet_List = Get-Command Get-*Service | Where-Object {$_.Name -Like "Get-Service*"} | ForEach-Object {$_.Name}|Out-String

Foreach ($Cmdlet in $Cmdlet_List){Do-InvokeCommand -CmdletName $Cmdlet}

1 Ответ

1 голос
/ 27 июня 2019

Примерно так будет работать (используя оператор invoke &):

get-command get-service,get-process | foreach-object {& $_}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...