У меня есть немного кода для получения гиперссылок с веб-страницы http - найдите все элементы, соответствующие критериям, затем найдите самые новые, отсортировав их, и используйте его InnerText в качестве источника для загрузки. Всем гиперссылкам присваивается 7-значный номер в конце их имени с большим номером для новых файлов.
Код:
$Web = ((Invoke-WebRequest "http://serveraddress/Export/").Links |
Where-Object {$_.href -like “xx_yyyyyy_auto_standard*”} |
Sort Name –Desc | Select –Last 1).innertext
Start-BitsTransfer -Source http://serveraddress/Export/$Web -Destination C:\autoreports\
Теперь, когда я запускаю выше в Powershell.exe (например, при запуске файла .ps1 с помощью щелчка правой кнопкой мыши и «Запуск с Powershell»), я получаю самый старый загруженный файл. Когда я запускаю выше в Powershell ISE, я получаю новейший файл. Когда я изменил -Last на -First в Powershell.exe, код работает как положено.
Я легко могу изменить это, но, поскольку я очень плохо знаком с Powershell - почему существует такая разница между Powershell ISE и "стандартом"? Заранее спасибо! Хотя это может быть новичком, я не нашел - или не понял - причины разницы.