Вася Гусев меня пристыдил тем фактом, что я распространял знание о BITSAdmin, вместо соответствующих командлетов PowerShell. Что ж, в какой-то мере он был определенно прав:
- 1) PowerShell великолепно самодокументирован
2) Писать скрипты на нем намнооого проще, чем в стандартном интерпретаторе комманд
3) Его при некоторых условиях может ыбть чуть проще использовать в некоторых базовых ситуациях типа “просто дай мне этот чертов файл”
4) Многие просто любят PoSh.
Потому я чуток почитал (Disclaimer: действительно “чуток”, потому если ниже есть ошибки, то прошу мне на них указать) и мне показалось, что задача, типа описанной мной в упомянутой статье должна решаться (и Вася тоже так сказал ) одной командой:
Start-BitsTransfer –source <URL> –destination <PathToFile>
но мне, как выяснилось, нужно было лучше изучить вопрос:
Оказывается, по-умолчанию модуль для BITS не подгружается. Ок, нужно это дело исправить (а если Вы пользуетесь BITS часто, то лучше это загнать в профиль, тогда не нужно будет делать это каждый раз):
и теперь у нас есть наши командлеты:
Ну-с, приступим:
Отлично, не правда ли? Оно даже показывает прогресс закачки визуально. А вот и не прекрасно, потому что как только я отклчил мой сетевой интерфейс, моя закачка была отменена и я не смог найти никаких ее следов:
Даже несмотря на то, что утверждалось, что “BITS will try again” – он так этого и не сделал и не было ни одной зарегистрированной BITS-задачи. Я, если честно, не знаю почему (пусть мне объяснят =) ), но нашел как этого избежать. Просто добавьте параметр “-Asynchronous” к строке и все сработает как нужно, хотя уже и нельзя будет увидеть этот прекрасновидный статус загрузки:
Однако, даже несмотря на то, что статус закачки сменился в конце концов на “Transferred”, в целевой папке был только .tmp файл. На самом деле, команда без параметра “-Asynchronous” просто выыкладывает Вам файл, куда нужно, но мы уже знаем недостатки этого метода. Так что я вынужден был закатить солнце закончить закачку вручную:
В общем, не слишком большая разница с BITSAdmin. К тому же я не смог найти как добиться такого же эффекта, как с fasion BITSAsmin /MONITOR.
Суммируя:
1) PoSh при скриптинге - рулит
2) Вы можете использовать для интерактивных задач любой набор команд, который Вам нравится. Однако помните, что BITSAdmin могут отменить в любой момент
Потому, пока я не прочитаю внимательно все сам или мне не объяснят, как делать по другому, я буду использовать PoSh, везде, где смогу, а мониторить задачи буду с помощью BITSAdmin. ;)
2 комментария:
Саша, очень полезный пост, спасибо. Уже даже попробовал. Посмотри форматирование - не знаю почему - в IE9 иллюстрации выезжают далеко вправо и смешиваются с текстом в правой колонке.
Ага, спасибо. Пора на Wordpress съезжать.
Отправить комментарий