как параметризовать PowerShip Scipt из партии - PullRequest
0 голосов
/ 18 сентября 2018

Я использую один сценарий Power Shell, который имеет одну функцию, как показано ниже, это три параметра.

Function Get-ServiceAlert
{
param(
[String]$ComputerList,[String[]]$includeService,[String]$Reportname)
........
}

В конце сценария, когда я вызываю функцию и передаю параметры в жестком коде или использую переменную itработает отлично.как следующий

$servername='C:\Server\server.txt'
$Reportname='C:\Server\Reoport.html'

Get-ServiceAlert -ComputerList $servername -includeService AdobeFlashPlayerUpdateSvc,AeLookupSvc,AppMgmt -Reportname $Reportname

Я хочу вызвать эту функцию, используя параметр.так что я могу назвать это с помощью командного файла.Я не могу вызвать это с помощью параметра.

1 Ответ

0 голосов
/ 18 сентября 2018

Согласен с Shadowzee, PS может сделать это напрямую, нет необходимости в командном файле.Передача набора параметров означает, что PS .ps1 принимает параметры.

Вы можете вызывать функцию PS из пакетного файла, вы вызываете их в сеансе PS.

Если вы говорите,Вы хотите запустить .ps1 и отправить ему параметры, а затем выполнить это direclty, то есть, например, так:

Сохраните приведенное ниже как Get-ServiceAlert.ps1, а не функцию в .ps1.Это позволяет вам передавать параметры при использовании сценария.

Param
(
    [String]$ComputerList,
    [String[]]$includeService,
    [String]$Reportname     
)

Запустите сценарий с консоли, как это ...

D:\Scripts\Get-ServiceAlert.ps1 -ComputerList $_ -includeService 'Service(s) to include' -Reportname 'D:\Scripts\Reports\ServiceReport.txt'

Ваш вопрос указывает, что вы не можетепока все в PS, потому что то, что вы пытаетесь, это не то, как функции работают внешне.

Вы используете функцию внутри скрипта не внешне, если вы не превратите свой скрипт в модуль (.psm1), который вы можете загрузить (Import-Module), что позволяет получить доступ к внешним функциям модуля.

Возьмите несколько и посмотрите бесплатное видео-обучение по PSA на Microsoft Virtual Academy, MS Channel9 и Youtube.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...