{"id":4711,"date":"2009-01-11T13:11:00","date_gmt":"2009-01-11T13:11:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/powershell\/2009\/01\/11\/transferring-large-files-using-bits\/"},"modified":"2019-02-18T13:12:54","modified_gmt":"2019-02-18T20:12:54","slug":"transferring-large-files-using-bits","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/powershell\/transferring-large-files-using-bits\/","title":{"rendered":"Transferring (Large) Files Using BITs"},"content":{"rendered":"<p>Have you had a file copy fail?&nbsp; Does that drive you crazy or what?&nbsp; How about when it is a REALLY big file and it takes a couple of hours and JUUUUUST before it finishes something happens to interrupt the transfer and you have to start all over again.&nbsp; Does that make you want to shove a sharpened #2 pencil up your nose or what?<\/p>\n<p>I got to thinking about these things when I saw that the W7 and WS08\/R2 beta bits were available and that the demand was so high that the servers were having a hard time keeping up.&nbsp; Can you image how you would react if you downloaded a GB and then the transfer failed?&nbsp; Can\u2019t someone HELP?&nbsp; Can\u2019t someone give us the get semantics of Windows Update but for files that **I** care about? <\/p>\n<p>Funny you should mention that.<\/p>\n<p>Have I mentioned that PowerShell V2 rocks?&nbsp; In CTP3, we are exposing a new set of Cmdlets that give you access to <a href=\"http:\/\/en.wikipedia.org\/wiki\/Background_Intelligent_Transfer_Service\" target=\"_blank\">BITS<\/a>.&nbsp;&nbsp; BITS stands for Background Intelligent Transfer Service.&nbsp; BITS is an awesome service.&nbsp; It is the special sauce behind Windows Update.&nbsp; Have you ever gone to WU and seen a couple hundred MB service pack and wondered, \u201chow is every PC on the planet going to get a couple hundred MB without causing the Internet to melt?\u201d&nbsp; Well BITS is the answer to that question.&nbsp; We think everyone should be using BITS.&nbsp; That means both ISV products and end users.&nbsp; Whenever you use BITS you get a better experience.&nbsp; You get reliable transfers, adaptive network bandwidth usage to minimize the impact on your system and you get peer caching which minimizes traffic.&nbsp; You can learn more about BITS by downloading a document <a href=\"http:\/\/www.microsoft.com\/windowsserver2003\/techinfo\/overview\/bits.mspx\" target=\"_blank\">HERE<\/a>.<\/p>\n<p>BTW &#8211; It turns out that we have been shipping the ability to do this for quite a while through a WIN32 command called <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc779476.aspx\" target=\"_blank\">BITSADMIN<\/a> but few&nbsp; know about it and it is difficult to use.&nbsp; We think we still have usability issues with these Cmdlets so we might change them before we ship.<\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">[0]PS&gt; <font color=\"#ff8000\"># You need to import the FileTransfer Module to get BITS cmdlets <br \/><\/font>[1]PS&gt; <font color=\"#ff8000\"># Notice that the NOUN is FileTransfer <br \/><\/font>[2]PS&gt; <strong>Import-Module FileTransfer -Verbose <br \/><\/strong><font color=\"#ffff00\"><font color=\"#ff8000\">VERBOSE: Importing cmdlet <font color=\"#ff0000\">&#8216;Add-FileTransfer&#8217;<\/font>. <br \/>VERBOSE: Importing cmdlet <font color=\"#ff0000\">&#8216;Clear-FileTransfer&#8217;<\/font>. <br \/>VERBOSE: Importing cmdlet <font color=\"#ff0000\">&#8216;Complete-FileTransfer&#8217;<\/font>. <br \/>VERBOSE: Importing cmdlet <font color=\"#ff0000\">&#8216;Get-FileTransfer&#8217;<\/font>. <br \/>VERBOSE: Importing cmdlet <font color=\"#ff0000\">&#8216;New-FileTransfer&#8217;<\/font>. <br \/>VERBOSE: Importing cmdlet <font color=\"#ff0000\">&#8216;Resume-FileTransfer&#8217;<\/font>. <br \/>VERBOSE: Importing cmdlet <font color=\"#ff0000\">&#8216;Set-FileTransfer&#8217;<\/font>. <br \/>VERBOSE: Importing cmdlet <\/font><font color=\"#ff0000\">&#8216;Suspend-FileTransfer&#8217;<\/font>. <\/font><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#ffff00\" size=\"2\"><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#ffff00\" size=\"2\"><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">[3]PS&gt; <font color=\"#ff8000\"># This is the HTTP file that I want to download.&nbsp; I could have<\/font> <br \/>[4]PS&gt; <font color=\"#ff8000\"># also used an UNC Path<\/font> <br \/>[5]PS&gt; <strong>$file = &#8220;<\/strong><\/font><a href=\"http:\/\/download.microsoft.com\/download\/D\/0\/E\/D0E6D2C1-2593-401\"><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">http:\/\/download.microsoft.com\/download\/D\/0\/E\/D0E6D2C1-2593-401<\/font><\/a> <br \/><font face=\"Consolas\" color=\"#0000ff\" size=\"2\"><strong>7-B26D-7375BC9263D5\/PowerShell_Setup_amd64.msi&#8221; <\/strong><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">[6]PS&gt; <font color=\"#ff8000\"># This creates a new BITS job running in the background.&nbsp; After <br \/><\/font>[7]PS&gt;<font color=\"#ff8000\"> # this command the file will get transferred even if <br \/><\/font>[8]PS&gt; <font color=\"#ff8000\">#&nbsp;&nbsp;&nbsp; this process terminates <br \/><\/font>[9]PS&gt; <font color=\"#ff8000\">#&nbsp;&nbsp;&nbsp; this machine (or the server) reboots. <br \/><\/font>[10]PS&gt; <font color=\"#ff8000\">#&nbsp;&nbsp; the network goes down and comes back up. <br \/><\/font>[11]PS&gt; <strong>New-FileTransfer -ServerFileName $file -ClientFileNamePrefix c:\\Kits &#8211; <br \/>DisplayName PSAMD&nbsp; -Asynchronous <\/strong><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">JobId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DisplayName&nbsp;&nbsp;&nbsp;&nbsp; TransferType&nbsp;&nbsp;&nbsp; JobState&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OwnerAccount <br \/>&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&#8212;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&#8212; <br \/>5652f872-c8d&#8230; PSAMD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Download&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Connecting&nbsp;&nbsp;&nbsp;&nbsp; RugratsVist&#8230; <\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\"><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\"><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">[12]PS&gt; <strong>$job = Get-FileTransfer PSAMD<\/strong> <\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">[13]PS&gt; <font color=\"#ff8000\"># Let&#8217;s take a look at what we have <br \/><\/font>[14]PS&gt; <strong>$job |format-list * <\/strong><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">JobId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 5652f872-c8db-4423-a28f-70c10e1600f4 <br \/>DisplayName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : PSAMD <br \/>Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : This is a transfer using Background Intelligent Tra <br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nsfer Service. <br \/>TransferType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Download <br \/>JobState&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Transferring <br \/>OwnerAccount&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : RugratsVista\\jsnover <br \/>Priority&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Normal <br \/>MinimumRetryDelay&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 600 <br \/>NoProgressTimeout&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 1209600 <br \/>TransientErrorCount&nbsp;&nbsp;&nbsp;&nbsp; : 0 <br \/>ProxyUsage&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : SystemDefault <br \/>ErrorContext&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : None <br \/>ErrorCondition&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : NoError <br \/>InternalErrorCode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 0 <br \/>ErrorDescription&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : <br \/>ErrorContextDescription : <br \/><font color=\"#ff0000\">BytesTotal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 10313216 <br \/>BytesTransferred&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 1063897 <br \/><\/font>FilesTotal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 1 <br \/>FilesTransferred&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 0 <br \/>CreationTime&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 1\/11\/2009 9:03:06 AM <br \/>ModificationTime&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 1\/11\/2009 9:03:11 AM <br \/>TransferCompletionTime&nbsp; : 1\/1\/0001 12:00:00 AM <br \/>FileList&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : {<\/font><a href=\"http:\/\/download.microsoft.com\/download\/D\/0\/E\/D0E6D\"><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">http:\/\/download.microsoft.com\/download\/D\/0\/E\/D0E6D<\/font><\/a> <br \/><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2C1-2593-4017-B26D-7375BC9263D5\/PowerShell_Setup_am <br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d64.msi} <br \/>ProxyList&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : <br \/>ProxyBypassList&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : <\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\"><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\"><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">[15]PS&gt;<font color=\"#ff8000\"> # Notice that you don&#8217;t see anything until the job is complete <br \/><\/font>[16]PS&gt; <font color=\"#ff8000\"># Actually, in -Asynchronous mode, you want see anything <br \/><\/font>[17]PS&gt; <font color=\"#ff8000\"># until *YOU* complete the FileTransfer (with a Complete-FileTransfer) <\/font><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">[18]PS&gt;<strong> dir c:\\Kits\\power* <\/strong><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">[19]PS&gt; <font color=\"#ff8000\"># The transfer is smart about bandwidth utilization and will<\/font> <br \/>[20]PS&gt; <font color=\"#ff8000\"># scale back when it detects interactive use or competition for<\/font> <br \/>[21]PS&gt; <font color=\"#ff8000\"># the network.&nbsp; You can control this with the -Priority flag<\/font> <br \/>[22]PS&gt; <font color=\"#ff8000\"># which takes values:<\/font> <br \/>[23]PS&gt; <font color=\"#ff8000\">#&nbsp;&nbsp;&nbsp; <strong>Forground, High, Normal, Low<\/strong><\/font> <br \/>[24]PS&gt; <font color=\"#ff8000\"># You can also manually suspend the job for any reason<\/font> <br \/>[25]PS&gt; <strong>Suspend-FileTransfer $job <\/strong><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">JobId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DisplayName&nbsp;&nbsp;&nbsp;&nbsp; TransferType&nbsp;&nbsp;&nbsp; JobState&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OwnerAccount <br \/>&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&#8212;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&#8212; <br \/>5652f872-c8d&#8230; PSAMD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Download&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Suspended&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RugratsVist&#8230; <\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">[26]PS&gt; $job <\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">JobId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DisplayName&nbsp;&nbsp;&nbsp;&nbsp; TransferType&nbsp;&nbsp;&nbsp; JobState&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OwnerAccount <br \/>&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&#8212;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&#8212; <br \/>5652f872-c8d&#8230; PSAMD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Download&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color=\"#ff0000\">Suspended<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RugratsVist&#8230; <\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\"><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\"><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\"><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">[27]PS&gt; <font color=\"#ff8000\"># This is how you resume the FileTransfer.<\/font> <br \/>[28]PS&gt; <strong>Resume-FileTransfer $job -Asynchronous<\/strong> <\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">JobId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DisplayName&nbsp;&nbsp;&nbsp;&nbsp; TransferType&nbsp;&nbsp;&nbsp; JobState&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OwnerAccount <br \/>&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&#8212;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&#8212; <br \/>5652f872-c8d&#8230; PSAMD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Download&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color=\"#ff0000\">Connecting<\/font>&nbsp;&nbsp;&nbsp;&nbsp; RugratsVist&#8230; <\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">[29]PS&gt; <strong>$job<\/strong> <\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">JobId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DisplayName&nbsp;&nbsp;&nbsp;&nbsp; TransferType&nbsp;&nbsp;&nbsp; JobState&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OwnerAccount <br \/>&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&#8212;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&#8212; <br \/>5652f872-c8d&#8230; PSAMD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Download&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color=\"#ff0000\">Transferred<\/font>&nbsp;&nbsp;&nbsp; RugratsVist&#8230; <\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\"><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\"><\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">[30]PS&gt; <font color=\"#ff8000\"># When the job is complete, you have to use this command to <br \/><\/font>[31]PS&gt; <font color=\"#ff8000\"># make the files show up and to clean up the job<\/font> <br \/>[32]PS&gt; <strong>Complete-FileTransfer $job<\/strong> <\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">[33]PS&gt;<strong> dir c:\\Kits\\power*<\/strong> <\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">&nbsp;&nbsp;&nbsp; Directory: C:\\Kits <\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\">Mode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LastWriteTime&nbsp;&nbsp;&nbsp;&nbsp; Length Name <br \/>&#8212;-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&#8212;-&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212; &#8212;- <br \/>-a&#8212;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12\/15\/2008&nbsp;&nbsp; 5:08 AM&nbsp;&nbsp; 10313216 PowerShell_Setup_amd64.msi <\/font><\/p>\n<p><font face=\"Consolas\" color=\"#0000ff\" size=\"2\"><\/font><\/p>\n<p>Everyone should use BITS.<\/p>\n<p>Experiment, Enjoy, Engage.<\/p>\n<p>Jeffrey Snover [MSFT] <br \/>Windows Management Partner Architect <br \/>Visit the Windows PowerShell Team blog at:&nbsp;&nbsp;&nbsp; <a href=\"http:\/\/blogs.msdn.com\/PowerShell\">http:\/\/blogs.msdn.com\/PowerShell<\/a> <br \/>Visit the Windows PowerShell ScriptCenter at:&nbsp; <a href=\"http:\/\/www.microsoft.com\/technet\/scriptcenter\/hubs\/msh.mspx\">http:\/\/www.microsoft.com\/technet\/scriptcenter\/hubs\/msh.mspx<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Have you had a file copy fail?&nbsp; Does that drive you crazy or what?&nbsp; How about when it is a REALLY big file and it takes a couple of hours and JUUUUUST before it finishes something happens to interrupt the transfer and you have to start all over again.&nbsp; Does that make you want to [&hellip;]<\/p>\n","protected":false},"author":600,"featured_media":13641,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[110,137,210,270],"class_list":["post-4711","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-powershell","tag-bits","tag-ctp3","tag-jeffrey-snover","tag-powershell-v2"],"acf":[],"blog_post_summary":"<p>Have you had a file copy fail?&nbsp; Does that drive you crazy or what?&nbsp; How about when it is a REALLY big file and it takes a couple of hours and JUUUUUST before it finishes something happens to interrupt the transfer and you have to start all over again.&nbsp; Does that make you want to [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/4711","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/users\/600"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/comments?post=4711"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/4711\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media\/13641"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media?parent=4711"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/categories?post=4711"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/tags?post=4711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}