title: Unzipping works on singlethread, but not multithread
body: <p>I'm trying to unzip a ton of files using PowerShell. I figured this is a great place to parallelize. However, my attempt to parallelize seems to make the unzip have no effect, even though it worked in the single threaded mode.</p>
  
  <pre><code>$unzip = {
      param([string]$sourceFile, [string]$destinationDir)
      #Clean out the destination if it exists
      rmdir $destination -Force -Recurse -ErrorAction SilentlyContinue
      mkdir $destination -Force
  
      #Actual unzip
      $shell = new-object -com shell.application
      $zipFile = $shell.NameSpace($sourceFile)
      $destinationDir = $shell.NameSpace($destination)
      $destinationDir.copyhere($zipFile.items())
  }
  
  foreach($file in $files){
      $args = ($file.FullName, $destinationDir)
      Start-Job $unzip -ArgumentList $args
  }
  
  #Cleanup
  While (Get-Job -State "Running") { Start-Sleep 2 }
  Remove-Job *
  </code></pre>
  
  <p>When I run this without the multithreaded code, it works fine, but with it none of the files actually get unzipped. Why is this?</p>