using credentials to Test-Path isn't working

1

I'm writing a script to check that our backup succeeded. Unfortunately, the backup is in a different location/login. The script is scheduled to run without user intervention, like the other ones do. I'm adding in credential info that is saved, but the -Credential option isn't working. It's still asking me to enter the login info in a popup login window, even with the -credential option I'm using. Do you see an issue with the following? I know the secure login works with another script so I don't think there's a problem with it's creation. I think the problem is in using the credentials with Test-Path. From what I can see, I think I'm doing it correctly, according to this link, although they aren't using a stored credential like I am: test-path with cred

function GetSecureLogin (){
#this function will obtain secure login
   $TISusername = "username/here"
   #read-host -assecurestring | convertfrom-securestring | out-file C:\filename.txt
   #Note: when you save password for re-use as above, programs that use it later must be using same login as had when saved password: ie. Script_Guru
   $TISpassword = get-content  C:\Scripts\filename.txt | convertto-securestring #may not need to re-convert to secure string since stored secure string
   $global:cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $TISusername, $TISpassword

}

Function CheckBackedUp($file, $destinationFolder)
{

    #get filename without folder
    $filename = $file.substring($file.lastindexofany("\") +1 ,$file.length - ($file.lastindexofany("\")+1)) 

    #$destinationFolder = split-path($file)
    #get date and append to fileNameWithoutExt
    #$ext = Get-Date -uformat "%Y-%m-%d" 
    $ext = "2014-06-11"
    $newFileName = $destinationFolder+"\"+$ext+"*"+$filename
    #look for file
    if(Test-Path "$newFileName" -Credential $global:cred) #this isn't working
    {
       Write-Host "$newFileName exists"
    }
    else
    {
        $temp = "$newFileName doesn't exist. "
        Write-Host "$temp "
        $global:resultMessage += $temp

    }

    #return failure message if don't find file with signature that contains $ext

} #CheckBackedUp

####start here
...
$global:cred = ""
GetSecureLogin

$global:resultMessage = ""

#loop through files, checking if we backed each one up
$i=0
try{
for ($i = $fileArray.GetLowerBound(0); $i -le $fileArray.GetUpperBound(0); $i++) { 
        $tempSource =  $fileArray[$i]
        #see if files were correctly backed up
        CheckBackedUp $tempSource $TisToLocation
}
...

**Update 6/27/2014** When I tried using the following in place of the Test-Path if statement above

invoke-command -computername "usa02xxnas1.na.xxx.net" -credential $globalcred -scriptblock{Test-Path "$newFileName"}

I got this error message, which I don't understand how to fix:

[usa02xxxnas1.na.xxx.net] Connecting to remote server usa02xxnas1.na.xxx.net failed with the following error message : WinRM cannot process the request. The following error 
with errorcode 0x80090311 occurred while using Kerberos authentication: There are currently no logon servers available to service the logon request.  
 Possible causes are:
  -The user name or password specified are invalid.
  -Kerberos is used when no authentication method and no user name are specified.
  -Kerberos accepts domain user names, but not local user names.
  -The Service Principal Name (SPN) for the remote computer name and port does not exist.
  -The client and remote computers are in different domains and there is no trust between the two domains.
 After checking for the above issues, try the following:
  -Check the Event Viewer for events related to authentication.
  -Change the authentication method; add the destination computer to the WinRM TrustedHosts configuration setting or use HTTPS transport.
 Note that computers in the TrustedHosts list might not be authenticated.
   -For more information about WinRM configuration, run the following command: winrm help config. For more information, see the about_Remote_Troubleshooting Help topic.
    + CategoryInfo          : OpenError: (usa02xxnas1.na.xxx.net:String) [], PSRemotingTransportException
    + FullyQualifiedErrorId : AuthenticationFailed,PSSessionStateBroken
powershell
credentials
asked on Stack Overflow Jun 25, 2014 by Michele • edited Jun 27, 2014 by Michele

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0