Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Циклирование скрипта

Ответить
Настройки темы
PowerShell - [решено] Циклирование скрипта

Аватара для alado

Новый участник


Сообщения: 10
Благодарности: 0


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Добрый день.
Помоги построить цикл, я без 5 минут как в powershell. Я пробовал использовать while не получилось, работает он так: ждет до определенного значения батареи и потом отсылает, но больше не работает получается что цикл как бы на раз... Пробовал реализовать через for и do успехов тоже не принесло.

Оригинал кода такой:
Код: Выделить весь код
$bat = $(Get-WmiObject win32_battery).estimatedChargeRemaining

if ($bat -cle 35)
{
$message = New-Object System.Net.Mail.MailMessage $From, $To
$message.Subject = $subject
$message.IsBodyHTML = $true
$message.Body = $body
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort)
$smtp.EnableSSL = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password)
$smtp.Send($message)
Start-Sleep -Seconds 60
}
else
{
}
Мои попытки с while:

Код: Выделить весь код
$bat = $(Get-WmiObject win32_battery).estimatedChargeRemaining
$a = 0 
While ($a -le 5)
{
if ($bat -cle 35)
{
$message = New-Object System.Net.Mail.MailMessage $From, $To
$message.Subject = $subject
$message.IsBodyHTML = $true
$message.Body = $body
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort)
$smtp.EnableSSL = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password)
$smtp.Send($message)
#5 minutes (300)
Start-Sleep -Seconds 60
}
else
{
}
}
}
Так же пробовал через true сделать:

Код: Выделить весь код
$bat = $(Get-WmiObject win32_battery).estimatedChargeRemaining
While ($true)
{
if ($bat -cle 35)
{
$message = New-Object System.Net.Mail.MailMessage $From, $To
$message.Subject = $subject
$message.IsBodyHTML = $true
$message.Body = $body
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort)
$smtp.EnableSSL = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password)
$smtp.Send($message)
#5 minutes (300)
Start-Sleep -Seconds 60
}
else
{
}
}

Отправлено: 00:17, 05-01-2015

 

Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
While ($true)
{
	if ($bat -cle 35)
	{
		$smtp.Send($message)
	}
	
	Start-Sleep -Seconds 60
	$bat = $(Get-WmiObject win32_battery).estimatedChargeRemaining
}
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:49, 05-01-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Циклирование скрипта

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - доработка скрипта ZeVSalt Программирование и базы данных 3 23-09-2011 22:33
Разное - определения скрипта vlasoft Программирование и базы данных 11 29-08-2011 15:28
Модификация скрипта venuko Вебмастеру 5 09-02-2009 18:00
Запрет скрипта nda24 Microsoft Windows NT/2000/2003 1 16-06-2008 08:08
Правка скрипта Rudy Вебмастеру 7 24-10-2005 15:58




 
Переход