title: Get-Content -Path not working in script run by Certify (Lets Encrypt) but runs fine when script is run in powershell
body: <p>My problem is I have made a script which starts a Exchange shell PSsession.
  The scrips runs fine if I execute it line by line in PowerShell, or if I right click on it in explorer and run. However, when it is called via certify after a new certificate is produced it fails.</p>
  
  <p>Here is the section of the script:</p>
  
  <pre><code>$password = Get-Content -Path 'c:\Certificate_Update\securepassword.txt'
  $pw = ConvertTo-SecureString -String $password
  #$pw = ConvertTo-SecureString -AsPlainText -Force -String "admin pass here"
  
  $cred = New-Object System.Management.Automation.PSCredential ("Wookies-Domain\Administrator", $pw)
  $uri = 'http://Exchange-Server/PowerShell/'
  # Starts remote Exchange shell session
  $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri $uri -Authentication Kerberos -Credential $Cred
  
  # Imports remote Exchange shell session to this Machine
  Import-PSSession $Session
  </code></pre>
  
  <p>The error I get is:</p>
  
  <pre>
  ConvertTo-SecureString : The system cannot find the path specified.
  
  At C:\Certificate_Update\Update_Old_Cert.ps1:40 char:7
  + $pw = ConvertTo-SecureString -String $password
  +       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      + CategoryInfo          : InvalidArgument: (:) [ConvertTo-SecureString], CryptographicException
      + FullyQualifiedErrorId :  ImportSecureString_InvalidArgument_CryptographicError,Microsoft.PowerShell.Commands.ConvertToSecureStringCommand
  
  TerminatingError(New-Object): "Exception calling ".ctor" with "2" argument(s):
  "Cannot process argument because the value of argument "password" is null.
  Change the value of argument "password" to a non-null value.""
  
  New-Object : Exception calling ".ctor" with "2" argument(s): "Cannot process
  argument because the value of argument "password" is null. Change the value of
  argument "password" to a non-null value."
  </pre>
  
  <p>It is saying <code>$password</code> is null? Can't work out what I have done wrong. Is it maybe some permissions thing as the script is being run by certify?</p>