Oto bardzo prosty skrypt, który pozwoli Wam za pomocą powershell ściągnąć plik z internetu po protokole http.
Myślę, że użyte zmienne i składnia polecenia są na tyle zrozumiałe, że nie trzeba ich szerzej omawiać :).
Obecnie Manager IT. Przez lata byłem Inżynierem systemów. Jestem entuzjastą i specem od vSphere, Windows serwer, GPO. Od zawsze byłem zwolennikiem wiersza poleceń i automatyzacji. Obecnie, ze względu na pracę, rodzinę i wyjazdy służbowe, dużo mniej udzielam się na blogu, ale mam nadzieję, że pośród kilkuset porad opublikowanych na spece.it, wiele osób znajdzie dla siebie coś przydatnego :)
Ja używam w cmd.exe polecenia bitsadmin, np. w harmonogramie do pobierania codziennie aktualnej wersji MSERT i skanowania nią serwera:
bitsadmin /transfer msert http://definitionupdates.microsoft.com/download/definitionupdates/safetyscanner/amd64/msert.exe c:backupmsert.exe
c:backupmsert.exe
wyniki skanowania odkładają się domyślnie w logu:
c:windowsdebugmsert.log
Zacznij od upewnienia się, czy cudzysłowy „” poprawnie skopiowały się. Wpisz je ręcznie, bo przy kopiowaniu skryptu z naszej stronki prosto do konsoli może wystąpić błąd.
Noo jak już się ściągnie ten program (bo WGET w Windowsie natywnie nie występuje).. to może i prościej. Ale temat wpisu nie brzmi „Jak najłatwiej ściągnąć plik…” 😀
I jest też WGET.EXE działajacy w CMD: ). No tak, zapomniałem też o aliasie WGET w PS, ale on działą działa tak sobie… Sam zresztą musiałeś stworzyć skrypt wokół Invoke-WebRequest żeby sensownie coś sciągnąć. Ja zaproponowałem troszkę inny cmdlet. Efekt ten sam.
Ta strona używa plików cookie w celu usprawnienia i ułatwienia dostępu do serwisu, prowadzenia danych statystycznych oraz wsparcia usług społecznościowych.AkceptujPrzeczytaj
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
Ja używam w cmd.exe polecenia bitsadmin, np. w harmonogramie do pobierania codziennie aktualnej wersji MSERT i skanowania nią serwera:
bitsadmin /transfer msert http://definitionupdates.microsoft.com/download/definitionupdates/safetyscanner/amd64/msert.exe c:backupmsert.exe
c:backupmsert.exe
wyniki skanowania odkładają się domyślnie w logu:
c:windowsdebugmsert.log
Zamierzałem wspomnieć o tej metodzie w następnych one-linerach. Gdybyś chciał dołączyć do spece.it możemy od czasu do czasu publikować Twoje wpisy. 🙂
Niestety nie działa 🙁 wywala tylko błąd:
Exception calling „DownloadFile” with „2” argument(s): „Wystąpił wyjątek podczas żądania klienta WebClient.”
At C:…Untitled3.ps1:4 char:1
+ $webclient.DownloadFile($adres_url,$zaplisz_jako)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : WebException
A co konkretnie wpisałeś?
Zacznij od upewnienia się, czy cudzysłowy „” poprawnie skopiowały się. Wpisz je ręcznie, bo przy kopiowaniu skryptu z naszej stronki prosto do konsoli może wystąpić błąd.
miałem ten sam problem, cudzysłowy oraz zaplisz_plik – zaplisz 😉
—
ogólnie super blog, właśnie wczoraj dowiedziałem się co to powershell – fajne to 😉
Ale pitolenia.
„wget” i jazda maleńka, linux prawdziwy system a nie jakiś podrabianiec 🙂
Nie sprzeczam się. Chciałem tylko udowodnić, że w „podrabiańcu” też się da. 😉
Powershell jest fajny 😉 Ale jednak dla takiego n00ba jak ja, jest za trudny w obsłudze.
A nie prościej po prostu wget z -OutFile?
Noo jak już się ściągnie ten program (bo WGET w Windowsie natywnie nie występuje).. to może i prościej. Ale temat wpisu nie brzmi „Jak najłatwiej ściągnąć plik…” 😀
pozdro!
wget w powershellu jest aliasem 😉
https://spece.it/windows-serwer-artykuly/wget-w-wersji-powershell
I jest też WGET.EXE działajacy w CMD: ). No tak, zapomniałem też o aliasie WGET w PS, ale on działą działa tak sobie… Sam zresztą musiałeś stworzyć skrypt wokół Invoke-WebRequest żeby sensownie coś sciągnąć. Ja zaproponowałem troszkę inny cmdlet. Efekt ten sam.
Można użyć również tego:
$url = „http://StronaWWW.pdf”
$output = „C:Temptest.pdf”
$start_time = Get-Date
Invoke-WebRequest -Uri $url -OutFile $output
Write-Output „Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)”
a jezeli zalezy nam na nieobciazaniu lacza mozna tez wykorzystac start-bitstransfer