Пример — сценарии действия PowerShell

Для сценария действия PowerShell есть два созданных экземпляра объектов для поддержки успешного выполнения:

Контекстные переменные

Следующие контекстные переменные доступны для использования в сценариях действия PowerShell:

Процентные переменные

Смотрите Процентные переменные для просмотра списка процентных переменных, доступных для использования со сценариями действия PowerShell.

<Важно> При использовании процентных переменных в качестве части строки литерала в сценариях PowerShell, для вложения строки литерала используйте двойные кавычки (" ") вместо одинарных (' '). Например: $Message = "%Device.DisplayName changed state".

Тайм-аут сценария.

Можно установить значение тайм-аута сценария (в секундах). Если выполнение сценария не закончено после окончания периода тайм-аута, выполнение прерывается.

Минимум: 1

Максимум: 60

Стандартно: 10

Примеры сценариев

Пример 1:

#

# Этот пример воспроизводит звуковой файл

#

# Указание на существующий файл wav

$wavFile = "C:\temp\Sound1.wav"

# Создание объекта .NET SoundPlayer

$sound = new-Object System.Media.SoundPlayer;

$sound.SoundLocation=$wavFile;

# Воспроизведение файла

$sound.Play();

# Отчет о результатах действия. Этот текст также регистрируется

$Context.SetResult($result, "Звуковое действие выполнено")

Пример 2:

#

# Этот пример отправляет электронное сообщение

#

# Изменение этого значения для получателя

$to = "target_email"

# Изменение этого значения для отправителя

$from = "source_email"

# Эта строка создает объект .NET для сообщения

$message = New-Object system.Net.Mail.MailMessage $from, $to

$message.Subject = "Уведомление от " + $Context.GetProperty("DisplayName")

$message.Body = "Адрес неактивен: " + $Context.GetProperty("Address")

# Имя почтового сервера

$server = "alpha.ipswitch.com"

# Создание объекта .NET для представления почтового клиента

$client = New-Object System.Net.Mail.SmtpClient $server

$client.UseDefaultCredentials = $true

$result = 1

# Отправка сообщения. При отсутствии исключений действие считается успешным

try {

$client.Send($message);

$result = 0

}

catch {

$result = 1

}

# Отчет о результатах действия. Этот текст также регистрируется

$Context.SetResult($result, "Действие почты выполнено")

См. также

Добавление и изменение действия PowerShell