ZIK1337
@ZIK1337

Как создать командлет в PowerShell?

Здравствуйте, есть задание:
spoiler
PuXCGnM.jpg

Я сделал так:
Первое
9Qq4Lcf.jpg
Второе
vG9DxjP.jpg

Но это же не является командлетами? Получается, мне нужно создать свой, дать ему имя, чтобы я мог его вызывать обычной командой? Тогда как это сделать?
  • Вопрос задан
  • 1733 просмотра
Решения вопроса 1
@Hanharr
Как вариант, можно сделать так.

Создаем файл test.psm1:
Function Get-NProcesses
{
    param (
        [switch]$Multiple,
        [switch]$LastProcess
    )

    $listProcesses = Get-Process| Select-Object -Unique | Select-Object -Property ProcessName, StartTime  | Where-Object { $_.StartTime -ne $null }

    if($Multiple)
    {
        foreach($process in $listProcesses.ProcessName)
        {
            if((Get-Process $process).Count -gt 1)
            {
                $process
            }
        }
    }

    if($LastProcess)
    {
        $listProcesses | Sort-Object -Property StartTime | Select-Object -Last 1
    }
}


Открываем консоль PS:
Import-Module /path/to/test1.psm1
Get-NProcesses -Multiple
Get-NProcesses -LastProcess
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@LiS-31
Командлет это PowerShell файл, с набором функций. Вам необходимо эти конвейеры оформить в качестве PS-функций и сохранить в файл с расширением psm, в одну из папок:
C:\Users\%UserName%\Documents\WindowsPowerShell\Modules
C:\Program Files\WindowsPowerShell\Modules
C:\Windows\System32\WindowsPowerShell\v1.0\Modules
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы