title: Uploading to Artifactory from a Windows Powershell script
body: <p>I've successfully downloaded a file from Artifactory (Generic Repo) via a WebClient object.  I'm having troubles uploading a file via the same method.  I'm trying to figure out the simplest method for uploading via Powershell to our server.</p>
  
  <p>Please note that installing other utilities like Curl is not an option at this point.  I'm writing automation scripts and want to stick with a basic Windows 2008 r2 server, no installing other utilities since I can't count on them being there across all the servers.</p>
  
  <p>If someone has an example script utilizing the Rest API, that would be perfect!</p>
  
  <p>Example of the download code (this works):</p>
  
  <pre><code>$SOURCE = "https://artifactory.example.com/artifactory/net-generic-local/APP/BF_1.0.zip"  
  $DESTINATION = ".\BF_1.0.zip"  
  $AF_USER ="user"  
  $AF_PWD ="password"  
  $WebClient = New-Object System.Net.WebClient  
  $WebClient.Credentials = New-Object System.Net.NetworkCredential($AF_USER,$AF_PWD)  
  $WebClient.DownloadFile($SOURCE,$DESTINATION)  
  </code></pre>
  
  <p>This is an example of the upload code (does not work):</p>
  
  <pre><code>$SOURCE = ".\BF_2.0.zip"  
  $DESTINATION = "https://artifactory.example.com/artifactory/net-generic-local/APP/BF_2.0.zip"  
  $AF_USER ="user"  
  $AF_PWD ="password"  
  $WebClient = New-Object System.Net.WebClient  
  $WebClient.Credentials = New-Object System.Net.NetworkCredential($AF_USER, $AF_PWD)  
  $URI = New-Object System.Uri($DESTINATION)  
  $WebClient.UploadFile($URI,$SOURCE)  
  </code></pre>
  
  <p>This is the error I'm getting from the upload:</p>
  
  <pre><code>Exception calling "UploadFile" with "2" argument(s): "The remote server returned an error: (405) Method Not Allowed."  
  At E:\transient\af_put.ps1:8 char:1  
  + $WebClient.UploadFile($URI,$SOURCE)  
  + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
      + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException  
      + FullyQualifiedErrorId : WebException  
  </code></pre>