Chapter 12. Internet-Enabled Scripts
Introduction
Although PowerShell provides an enormous benefit even when your scripts interact only with the local system, working with data sources from the Internet opens exciting and unique opportunities. For example, you might download files or information from the Internet, interact with a web service, store your output as HTML, or even send an email that reports the results of a long-running script.
Through its cmdlets and access to the networking support in the .NET Framework, PowerShell provides ample opportunities for Internet-enabled administration.
Download a File from an FTP or Internet Site
Problem
You want to download a file from an FTP location or website on the Internet.
Solution
Use the -OutFile
parameter
of the Invoke-WebRequest
cmdlet:
PS > $source = "http://www.leeholmes.com/favicon.ico" PS > $destination = "c:\temp\favicon.ico" PS > PS > Invoke-WebRequest $source -OutFile $destination
Discussion
The Invoke-WebRequest
cmdlet lets you easily
upload and download data from remote web servers. It acts much like a
web browser in that you can specify a user agent, a proxy (if your
outgoing connection requires one), and even credentials.
Note
If you require a solution that works with PowerShell version 2,
use the DownloadFile()
method of
the System.Net.WebClient
class from
the .NET Framework.
While the Solution demonstrates downloading a file from a web
(HTTP) resource, the Invoke-WebRequest
cmdlet also supports FTP locations. To specify an FTP ...
Get Windows PowerShell Cookbook, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.