sthArgumentCompleter - это модуль для работы с механизмами завершения аргументов, зарегистрированными при помощи команды Register-ArgumentCompleter.
В модуль входят следующие функции:
Get-CustomArgumentCompleter - Получает механизмы завершения аргументов типа Custom.
Get-NativeArgumentCompleter - Получает механизмы завершения аргументов типа Native.
Get-CustomArgumentCompleterScriptBlock - Получает блок сценария механизма завершения аргументов типа Custom.
Get-NativeArgumentCompleterScriptBlock - Получает блок сценария механизма завершения аргументов типа Native.
Remove-CustomArgumentCompleter - Удаляет указанные механизмы завершения аргументов типа Custom.
Remove-NativeArgumentCompleter - Удаляет указанные механизмы завершения аргументов типа Native.
Clear-CustomArgumentCompleters - Удаляет все зарегистрированные механизмы завершения аргументов типа Custom.
Clear-NativeArgumentCompleters - Удаляет все зарегистрированные механизмы завершения аргументов типа Native.
Вы можете установить модуль sthArgumentCompleter из PowerShell Gallery:
Install-Module sthArgumentCompleter
Команда получает все механизмы завершения аргументов типа Custom, зарегистрированные в текущей сессии.
Get-CustomArgumentCompleter
CommandName ParameterName ScriptBlock
----------- ------------- -----------
Get-Something Name …
Do-Something Action …
SomeParameter …
Команда получает указанный механизм завершения аргументов типа Custom.
Get-CustomArgumentCompleter -Name Get-Something:Name
CommandName ParameterName ScriptBlock
----------- ------------- -----------
Get-Something Name …
Пример 3: Получение механизмов завершения аргументов типа Custom и отображение их блоков сценария в развернутом виде
Команда получает указанный механизм завершения аргументов типа Custom, отображая его блок сценария в развернутом виде.
Get-CustomArgumentCompleter -Name Get-Something:Name -ExpandScriptBlocks
CommandName ParameterName ScriptBlock
----------- ------------- -----------
Get-Something Name
$names = 'NameOne', 'NameTwo', 'NameThree'
foreach ($name in $names)
{
if ($name -like "$wordToComplete*")
{
[System.Management.Automation.CompletionResult]::new($name)
}
}
Команда получает все механизмы завершения аргументов типа Native, зарегистрированные в текущей сессии.
Get-NativeArgumentCompleter
CommandName ScriptBlock
----------- -----------
somecommand …
anothercommand …
Команда получает указанный механизм завершения аргументов типа Native.
Get-NativeArgumentCompleter -Name somecommand
CommandName ScriptBlock
----------- -----------
somecommand …
Пример 3: Получение механизмов завершения аргументов типа Native и отображение их блоков сценария в развернутом виде
Команда получает указанный механизм завершения аргументов типа Native, отображая его блок сценария в развернутом виде.
Get-NativeArgumentCompleter -Name somecommand -ExpandScriptBlocks
CommandName ScriptBlock
----------- -----------
somecommand
$arguments = 'ArgumentOne', 'ArgumentTwo', 'ArgumentThree'
foreach ($argument in $arguments)
{
if ($argument -like "$wordToComplete*")
{
[System.Management.Automation.CompletionResult]::new($argument)
}
}
Команда получает блок сценария указанного механизма завершения аргументов типа Custom.
Get-CustomArgumentCompleterScriptBlock -Name Get-Something:Name
$names = 'NameOne', 'NameTwo', 'NameThree'
foreach ($name in $names)
{
if ($name -like "$wordToComplete*")
{
[System.Management.Automation.CompletionResult]::new($name)
}
}
Пример 2: Получение блока сценария механизма завершения аргументов типа Custom, переданного через конвейер
Команда получает блок сценария переданного по конвейеру механизма завершения аргументов типа Custom.
Get-CustomArgumentCompleter -Name Do-Something:Action | Get-CustomArgumentCompleterScriptBlock
$actions = 'ActionOne', 'ActionTwo'
foreach ($action in $actions)
{
if ($action -like "$wordToComplete*")
{
[System.Management.Automation.CompletionResult]::new($action)
}
}
Команда получает блок сценария указанного механизма завершения аргументов типа Native.
Get-NativeArgumentCompleterScriptBlock -Name somecommand
$arguments = 'ArgumentOne', 'ArgumentTwo', 'ArgumentThree'
foreach ($argument in $arguments)
{
if ($argument -like "$wordToComplete*")
{
[System.Management.Automation.CompletionResult]::new($argument)
}
}
Пример 2: Получение блока сценария механизма завершения аргументов типа Native, переданного через конвейер
Команда получает блок сценария переданного по конвейеру механизма завершения аргументов типа Native.
Get-NativeArgumentCompleter -Name anothercommand | Get-NativeArgumentCompleterScriptBlock
$arguments = 'ArgumentOne', 'ArgumentTwo'
foreach ($argument in $arguments)
{
if ($argument -like "$wordToComplete*")
{
[System.Management.Automation.CompletionResult]::new($argument)
}
}
Команда удаляет указанный механизм завершения аргументов типа Custom.
Remove-CustomArgumentCompleter -Name Get-Something:Name
Команда удаляет переданный по конвейеру механизм завершения аргументов типа Custom.
Get-CustomArgumentCompleter -Name Do-Something:Action | Remove-CustomArgumentCompleter
Команда удаляет указанный механизм завершения аргументов типа Native.
Remove-NativeArgumentCompleter -Name somecommand
Команда удаляет переданный по конвейеру механизм завершения аргументов типа Native.
Get-NativeArgumentCompleter -Name anothercommand | Remove-NativeArgumentCompleter
Команда удаляет все зарегистрированные механизмы завершения аргументов типа Custom.
Clear-CustomArgumentCompleters
Команда удаляет все зарегистрированные механизмы завершения аргументов типа Native.
Clear-NativeArgumentCompleters