PoshCode Logo PowerShell Code Repository

Get-MIX10Video by Steven Murawski 22 months ago
View followups from Steven Murawski | embed code: <script type="text/javascript" src="http://PoshCode.org/embed/1715"></script>download | new post

Modified Jaykul’s PDC downloader for the MIX 10 Conference.

  1. #requires -version 2.0
  2. PARAM (
  3.    [Parameter(Position=1, Mandatory=$true)]
  4.    [ValidateSet("wmv","wmvhigh","ppt", "mp4")]
  5.    [String]$MediaType,
  6.    [string]$Destination = $PWD
  7. )
  8. if( ([System.Environment]::OSVersion.Version.Major -gt 5) -and -not ( # Vista and ...
  9.    new-object Security.Principal.WindowsPrincipal (
  10.       [Security.Principal.WindowsIdentity]::GetCurrent()) # current user is admin
  11.    ).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) ) {
  12.    
  13. Write-Warning @"
  14. On VISTA and above, BITS limits the number of jobs in the queue to 300 jobs and the number of jobs that a non-administrator user can create to 60 jobs.
  15.  
  16. You MUST run this script from an elevated host if you're on Vista, Windows 7, or Server 2008
  17. "@
  18. }
  19.    
  20. Import-Module BitsTransfer
  21. Push-Location $Destination
  22. $Extension = $(switch -wildcard($MediaType){"wmv*"{"wmv"} "mp4"{"mp4"} "ppt"{"pptx"}})
  23. $BaseUrl = "http://ecn.channel9.msdn.com/o9/mix/10/{0}/{2}.{1}"
  24.  
  25. "CL01", "CL02", "CL03", "CL06", "CL07", "CL08", "CL09", "CL10", "CL13", "CL14",
  26. "CL15", "CL16", "CL17", "CL18", "CL19", "CL20", "CL21", "CL22", "CL23", "CL24",
  27. "CL25", "CL26", "CL27", "CL28", "CL29", "CL30", "CL50", "CL51", "CL52", "CL53",
  28. "CL54", "CL55", "CL56", "CL58", "CL59", "CL60", "DS01", "DS02", "DS03", "DS04",
  29. "DS05", "DS06", "DS07", "DS08", "DS09", "DS10", "DS11", "DS12", "DS13", "DS14",
  30. "DS15", "DS16", "EX01", "EX02", "EX03", "EX04", "EX06", "EX07", "EX10", "EX11",
  31. "EX12", "EX13", "EX14", "EX15", "EX16", "EX17", "EX18", "EX19", "EX20", "EX21",
  32. "EX22", "EX23", "EX25", "EX26", "EX27", "EX28", "EX29", "EX30", "EX31", "EX32",
  33. "EX33", "EX34", "EX35", "EX36", "EX37", "EX38", "EX39", "EX50", "EX51", "EX52",
  34. "EX53", "EX55", "EX56", "FTL01", "FTL02", "FTL03", "FTL50", "FTL51", "KEY01",
  35. "KEY02", "PR01", "PR02", "SVC01", "SVC02", "SVC03", "SVC04", "SVC05", "SVC06",
  36. "SVC07", "SVC08", "SVC09", "SVC10", "SVC12", "SVC50" |
  37. ForEach { Start-BitsTransfer -Source $($BaseUrl -f  $MediaType, $Extension, $_) -Async }
  38. Pop-Location
  39.  
  40. Write-Host "You may now use Get-BitsTransfer to check on the status of the downloads. By default, failed transfers will be retried every 10 minutes for two weeks."
  41. # SIG # Begin signature block
  42. # MIIQpAYJKoZIhvcNAQcCoIIQlTCCEJECAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
  43. # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
  44. # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUmuwkLIvcY4HgxR1/UfjBbLhG
  45. # vJ+ggg3ZMIIGyzCCBbOgAwIBAgICAIMwDQYJKoZIhvcNAQEFBQAwgYwxCzAJBgNV
  46. # BAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUg
  47. # RGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBD
  48. # bGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIE9iamVjdCBDQTAeFw0wOTEyMjIw
  49. # NjAwMTlaFw0xMTEyMjMxMTE2NTdaMIHIMSAwHgYDVQQNExcxMTc2NjEtcTdtZGI4
  50. # Y28zaGhBbXAxMjELMAkGA1UEBhMCVVMxEjAQBgNVBAgTCVdpc2NvbnNpbjESMBAG
  51. # A1UEBxMJR3JlZW5kYWxlMS0wKwYDVQQLEyRTdGFydENvbSBWZXJpZmllZCBDZXJ0
  52. # aWZpY2F0ZSBNZW1iZXIxGDAWBgNVBAMTD1N0ZXZlbiBNdXJhd3NraTEmMCQGCSqG
  53. # SIb3DQEJARYXc3RldmVAdXNlcG93ZXJzaGVsbC5jb20wggEiMA0GCSqGSIb3DQEB
  54. # AQUAA4IBDwAwggEKAoIBAQC94TIYIjVOhj2zKhUQngQ5nxqPCCH6/nsKe49FNqgE
  55. # SPG2PRX9WBNdYIg1QXhpkw16bw+1PItHJi6vjZ7OiYyrS1Sui6iUnQ3Nt40I1H7N
  56. # Hn4i5yn7AcFgUUCBpQgUXEc+10pZUnJ7mY1BqJJGXrDve8I2NxkDPiPwNnm6xqwO
  57. # XkeaWSYpxKv/QXI6J+wnSSvrcMZegMxZ8TbMT7ihNCt8Y+UVlKF7g4jcRjnGzn5h
  58. # F5qJodmgIIuQGkuKspTzqDrIMelJHqZTyvHWBjtA09zkDpMpDlhMP6A4Lu2vpIrc
  59. # 8Ztb9FAFD/+oTLo1cz80QjY2I7rM3oxAWwsdGrCkIn09AgMBAAGjggL3MIIC8zAJ
  60. # BgNVHRMEAjAAMA4GA1UdDwEB/wQEAwIHgDA6BgNVHSUBAf8EMDAuBggrBgEFBQcD
  61. # AwYKKwYBBAGCNwIBFQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDDTAdBgNVHQ4EFgQU
  62. # nU30uCjZk+GBJq9f25DWwbMRxhQwHwYDVR0jBBgwFoAU0E4PQJlsuEsZbzsouODj
  63. # iAc0qrcwggFCBgNVHSAEggE5MIIBNTCCATEGCysGAQQBgbU3AQIBMIIBIDAuBggr
  64. # BgEFBQcCARYiaHR0cDovL3d3dy5zdGFydHNzbC5jb20vcG9saWN5LnBkZjA0Bggr
  65. # BgEFBQcCARYoaHR0cDovL3d3dy5zdGFydHNzbC5jb20vaW50ZXJtZWRpYXRlLnBk
  66. # ZjCBtwYIKwYBBQUHAgIwgaowFBYNU3RhcnRDb20gTHRkLjADAgEBGoGRTGltaXRl
  67. # ZCBMaWFiaWxpdHksIHNlZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2Yg
  68. # dGhlIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFp
  69. # bGFibGUgYXQgaHR0cDovL3d3dy5zdGFydHNzbC5jb20vcG9saWN5LnBkZjBjBgNV
  70. # HR8EXDBaMCugKaAnhiVodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9jcnRjMi1jcmwu
  71. # Y3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9jcnRjMi1jcmwuY3Js
  72. # MIGJBggrBgEFBQcBAQR9MHswNwYIKwYBBQUHMAGGK2h0dHA6Ly9vY3NwLnN0YXJ0
  73. # c3NsLmNvbS9zdWIvY2xhc3MyL2NvZGUvY2EwQAYIKwYBBQUHMAKGNGh0dHA6Ly93
  74. # d3cuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczIuY29kZS5jYS5jcnQwIwYD
  75. # VR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0GCSqGSIb3DQEBBQUA
  76. # A4IBAQDAKxouOZbRGXHT2avNItDoYlnhoLXypJnLUiRX9LXoOSh5Tlj6EQPJuXyG
  77. # pqVDzPfN3YdqmqTSSVay7r7ndOa+VvyPppIc4xE7nMuSPT8HUej96sDJI0QBbQM2
  78. # +OoEVl/ZXcsPbaIGKVKkPFS3nTJ54UNxPKfHUK71IimVyhMQY/KaucD0BuU9Guqi
  79. # 8rh2eYqm2BKkD8RHJxSbTCoMY1g83B/pvaGs2bI7OCwL+sfICFQhoRzY7RLE2Rvy
  80. # maIr9CzN7EBTNYWSr56j/0vuvNFCn0htw2rspyN8ZS+pa3lc/MiWoLVJ09HwJ1pK
  81. # C1soqH5vqdPHHDkw1E5qY8uraRCRMIIHBjCCBO6gAwIBAgIBFTANBgkqhkiG9w0B
  82. # AQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkG
  83. # A1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UE
  84. # AxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDcxMDI0MjIw
  85. # MTQ1WhcNMTIxMDI0MjIwMTQ1WjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0
  86. # YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRl
  87. # IFNpZ25pbmcxODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDIgUHJpbWFyeSBJbnRl
  88. # cm1lZGlhdGUgT2JqZWN0IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
  89. # AQEAyiOLIjUemqAbPJ1J0D8MlzgWKbr4fYlbRVjvhHDtfhFN6RQxq0PjTQxRgWzw
  90. # FQNKJCdU5ftKoM5N4YSjId6ZNavcSa6/McVnhDAQm+8H3HWoD030NVOxbjgD/Ih3
  91. # HaV3/z9159nnvyxQEckRZfpJB2Kfk6aHqW3JnSvRe+XVZSufDVCe/vtxGSEwKCaN
  92. # rsLc9pboUoYIC3oyzWoUTZ65+c0H4paR8c8eK/mC914mBo6N0dQ512/bkSdaeY9Y
  93. # aQpGtW/h/W/FkbQRT3sCpttLVlIjnkuY4r9+zvqhToPjxcfDYEf+XD8VGkAqle8A
  94. # a8hQ+M1qGdQjAye8OzbVuUOw7wIDAQABo4ICfzCCAnswDAYDVR0TBAUwAwEB/zAL
  95. # BgNVHQ8EBAMCAQYwHQYDVR0OBBYEFNBOD0CZbLhLGW87KLjg44gHNKq3MIGoBgNV
  96. # HSMEgaAwgZ2AFE4L7xqkQFulF2mHMMo0aEPQQa7yoYGBpH8wfTELMAkGA1UEBhMC
  97. # SUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdp
  98. # dGFsIENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRp
  99. # ZmljYXRpb24gQXV0aG9yaXR5ggEBMAkGA1UdEgQCMAAwPQYIKwYBBQUHAQEEMTAv
  100. # MC0GCCsGAQUFBzAChiFodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9zZnNjYS5jcnQw
  101. # YAYDVR0fBFkwVzAsoCqgKIYmaHR0cDovL2NlcnQuc3RhcnRjb20ub3JnL3Nmc2Nh
  102. # LWNybC5jcmwwJ6AloCOGIWh0dHA6Ly9jcmwuc3RhcnRzc2wuY29tL3Nmc2NhLmNy
  103. # bDCBggYDVR0gBHsweTB3BgsrBgEEAYG1NwEBBTBoMC8GCCsGAQUFBwIBFiNodHRw
  104. # Oi8vY2VydC5zdGFydGNvbS5vcmcvcG9saWN5LnBkZjA1BggrBgEFBQcCARYpaHR0
  105. # cDovL2NlcnQuc3RhcnRjb20ub3JnL2ludGVybWVkaWF0ZS5wZGYwEQYJYIZIAYb4
  106. # QgEBBAQDAgABMFAGCWCGSAGG+EIBDQRDFkFTdGFydENvbSBDbGFzcyAyIFByaW1h
  107. # cnkgSW50ZXJtZWRpYXRlIE9iamVjdCBTaWduaW5nIENlcnRpZmljYXRlczANBgkq
  108. # hkiG9w0BAQUFAAOCAgEAUKLQmPRwQHAAtm7slo01fXugNxp/gTJY3+aIhhs8Gog+
  109. # IwIsT75Q1kLsnnfUQfbFpl/UrlB02FQSOZ+4Dn2S9l7ewXQhIXwtuwKiQg3NdD9t
  110. # uA8Ohu3eY1cPl7eOaY4QqvqSj8+Ol7f0Zp6qTGiRZxCv/aNPIbp0v3rD9GdhGtPv
  111. # KLRS0CqKgsH2nweovk4hfXjRQjp5N5PnfBW1X2DCSTqmjweWhlleQ2KDg93W61Tw
  112. # 6M6yGJAGG3GnzbwadF9BUW88WcRsnOWHIu1473bNKBnf1OKxxAQ1/3WwJGZWJ5Ux
  113. # hCpA+wr+l+NbHP5x5XZ58xhhxu7WQ7rwIDj8d/lGU9A6EaeXv3NwwcbIo/aou5v9
  114. # y94+leAYqr8bbBNAFTX1pTxQJylfsKrkB8EOIx+Zrlwa0WE32AgxaKhWAGho/Ph7
  115. # d6UXUSn5bw2+usvhdkW4npUoxAk3RhT3+nupi1fic4NG7iQG84PZ2bbS5YxOmaII
  116. # sIAxclf25FwssWjieMwV0k91nlzUFB1HQMuE6TurAakS7tnIKTJ+ZWJBDduUbcD1
  117. # 094X38OvMO/++H5S45Ki3r/13YTm0AWGOvMFkEAF8LbuEyecKTaJMTiNRfBGMgnq
  118. # GBfqiOnzxxRVNOw2hSQp0B+C9Ij/q375z3iAIYCbKUd/5SSELcmlLl+BuNknXE0x
  119. # ggI1MIICMQIBATCBkzCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29t
  120. # IEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25p
  121. # bmcxODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDIgUHJpbWFyeSBJbnRlcm1lZGlh
  122. # dGUgT2JqZWN0IENBAgIAgzAJBgUrDgMCGgUAoHgwGAYKKwYBBAGCNwIBDDEKMAig
  123. # AoAAoQKAADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3AgEL
  124. # MQ4wDAYKKwYBBAGCNwIBFjAjBgkqhkiG9w0BCQQxFgQUqXZyhT3gPb/yztv37JLm
  125. # MK4u2YUwDQYJKoZIhvcNAQEBBQAEggEAr3pUvFrxGYAyWsVPDHQXkEry1vupa04M
  126. # 0DJqCEb7lFFzDc56MKtOxr2L59+wOLN6go1KV7njbaQ5FbVC2CX8bIgeoiCXIKp0
  127. # bsClIXTkViqS1BDcOxGM6RaQOzqFCy+8e5ahimkR+jxYGNTM2MnqEeHw8mY582ZU
  128. # WOVnMYeF5pV+UQFsV/ri+jLk0BVHqkpMFy4F3BqeBH5U0jQ8Ai9Vh4OAfoDEdkAD
  129. # aV+A5IVZmhUEuTG0v8MFeQM8XDU70NeusQleY3o98RlRT7/UW/MbOFxeM8Ogzyl2
  130. # aIkAqJBpca3PlnaVVWWoNlTb3pjKkByLmEMkMMAnamBS2PJmauWlQg==
  131. # SIG # End signature block

Submit a correction or amendment below (
click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.

Syntax highlighting:


Remember me