Running SFTP from script but Task Scheduler does not like part of it.

Hello,
I am trying to do some (not so) simple file copying using SFTP in this manner:
 1) Map a drive to the destination, the SFTP program will not accept UNC paths
 2) Use SFTP to copy the files to the target Server
 3) Write a Timestamped entry to a log file
 4) Remove the source files after copy
 5) Remove the drive mapping
Everything works but Step two and that only fails running from the Task Scheduler (W2K8 R2).  Running from the command line directly in PowerShell or using the Run box works fine all the way.
The sftp program is BitVise SSH Client using their log utility.  The makes the command line very complicated.
The line I use in the Scheduler is powershell "D:\Scripts\SFTP_TPCCommission.ps1" Dev  I have also tried using the -command parameter.  Again, it only does not work in the scheduler.
Here is how I invoke it:
$CmdLine = "`"D:\\Program Files (x86)\\Bitvise SSH Client\\logs\\`" sftpc " + $Server + " -pk=1 -cmd=`"put -o -lf Z:\" + $File + " /TPCCommissions`""
& log ($CmdLine)
I have also tried a Here String to do the same thing.  It works the same way.
$ArgText = @"
"D:\\Program Files (x86)\\Bitvise SSH Client\\logs\\" sftpc $Server -pk=1 -cmd="put -o -lf Z:\$File /TPCCommissions"
Any ideas?

In a batch file or at the command (not PS) line the command structure looks like this:
log "D:\\Program Files (x86)\\Bitvise SSH Client\\logs\\" sftpc <user@server> -pk=1 -cmd="put -o -lf Z:\<Source> /<Destination>"
The double slashes are requirement of the log program which calls the sftpc program with its command structure.
The double-quoted section after "-cmd=" is required.  The Z: drive is mapped because the SFTP program does not support UNC paths. (Stupid, but that is all I have to work with.
What you see in my post is just the part giving me trouble.  I am using PS to keep track of what I am copying to the destination and removing from the source and creating a timestamped log of that activity.
As to the comment about Task Scheduler, I am using it.  Like I said, it all works fine from anywhere but the Task Scheduler.

Similar Messages

  • Trying to run Power shell Script on task schedule

    My case is i'm trying to run a power shell script through the task schedule.
    Note if i run the script locally it is working fine but from the task schedule it is not working.
    More information: 
    script function: Password Change Notification
    Task name : test3
    Time to do the task: 9:08 am every day
    the status : running 
    .ps1 file location: under C\windows\system32\
    some actions in the task history after the dated time to run:
    1 Task Scheduler launched "{3023b1eb-9b29-47b9-ace2-e6083e2f00cc}"  instance of task "\test3" due to a time trigger condition
    2 Task Engine "S-1-5-21-60622444-1628707926-2526327935-500: enviroment\Admin:S4U:LUA"  received a message from Task Scheduler service requesting to launch task "\test3" .
    3 Task Scheduler started "{3023b1eb-9b29-47b9-ace2-e6083e2f00cc}" instance of the "\test3" task for user "enviroment\admin
    4 Task Scheduler launched action ""C:\Windows\System32\Password Change Notification\Password Change Notification.ps1"" in instance "{3023b1eb-9b29-47b9-ace2-e6083e2f00cc}" of task "\test3
    5 Task Scheduler launch task "\test3" , instance "C:\Windows\System32\notepad.exe"  with process ID 5052

    Hi MeipoXu,
    First of all i would like to thank you for your answer, i followed the URL that you posted already in the previous comment and unfortunately it didn't work, and please find my ps1 file
    content as typed below and give me your feedback on that.
    #  # Version 1.1 May 2014
    # Robert Pearman (WSSMB MVP) # TitleRequired.com
    # Script to Automated Email Reminders when Users Passwords due to Expire.
    # # Requires: Windows PowerShell Module for Active Directory
    # # For assistance and ideas, visit the TechNet Gallery Q&A Page. http://gallery.technet.microsoft.com/Password-Expiry-Email-177c3e27/view/Discussions#content
    # Please Configure the following variables....
    $smtpServer="outlook. myDomain " $expireindays = 7
    $from = "الدعم الفني
    <ITHelpDesk@myDomain>"
    $logging = "Enabled" # Set to Disabled to Disable Logging
    $logFile = "PassExpireNotlog.csv" # ie. c:\mylog.csv
    $testing = "Enabled" ## "Enabled" # Set to Disabled to Email Users
    $testRecipient = "MyEmail@MyDomain"
    $encoding = [System.Text.Encoding]::Unicode $date = Get-Date -format ddMMyyyy
    # Check Logging Settings if (($logging) -eq "Enabled")
    {     # Test Log File Path
        $logfilePath = (Test-Path $logFile)     if (($logFilePath) -ne "True")
        {         # Create CSV File and Headers
            New-Item $logfile -ItemType File
            Add-Content $logfile "Date,Name,EmailAddress,DaystoExpire,ExpiresOn,MsgBody"
        } } # End Logging Check
    # Get Users From AD who are Enabled, Passwords Expire and are Not Currently Expired
    Import-Module ActiveDirectory $users = get-aduser -filter * -SearchScope Subtree -SearchBase "OU=UsersOU,DC=MyDomain,DC=MyrootDomain,DC=MYrootNS" -properties Name, PasswordNeverExpires, PasswordExpired, PasswordLastSet,
    EmailAddress |where {$_.Enabled -eq "True"} | where { $_.PasswordNeverExpires -eq $false } | where { $_.passwordexpired -eq $false }
    $maxPasswordAge = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge
    # Process Each User for Password Expiry foreach ($user in $users)
    {     $Name = (Get-ADUser $user | foreach { $_.Name})
        $emailaddress = $user.emailaddress
        $passwordSetDate = (get-aduser $user -properties * | foreach { $_.PasswordLastSet })
        $PasswordPol = (Get-AduserResultantPasswordPolicy $user)
        # Check for Fine Grained Password
        if (($PasswordPol) -ne $null)     {
            $maxPasswordAge = ($PasswordPol).MaxPasswordAge
        $expireson = $passwordsetdate + $maxPasswordAge
        $today = (get-date)     $daystoexpire = (New-TimeSpan -Start $today -End $Expireson).Days
                 # Set Greeting based on Number of Days to Expiry.
        # Check Number of Days to Expiry
        $messageDays = $daystoexpire     if (($messageDays) -ge "2")
        {         $messageDays = "خلال
    " + "$daystoexpire" + " ايام"
        }     elseif (($messageDays) -eq "2")
        {         $messageDays = "خلال يومين
        }     else
        {         $messageDays = "اليوم."
        }     # Email Subject Set Here
        $subject="كلمة المرور الخاصة بك ستنتهي
    $messageDays"
           # Email Body Set Here, Note You can use HTML, including Images.
        $body =     "<P style='font-family: Arial; font-size: 16pt' />
        <center> الاستاذ/ $name
    </center> 
        <br>     <center>
    كلمة المرور الخاصة بك ستنتهي $messageDays </center>
        <br>     <center>
    نأمل تغييرها في أقرب فرصة حتي تتمكن من الدخول على النظام
    </center>
        <br>     <center>
    مع تحيات الادارة العامة لتقنية المعلومات
    </center> 
        <br>     </P>"
            # If Testing Is Enabled - Email Administrator
        if (($testing) -eq "Enabled")
        {         $emailaddress = $testRecipient
        } # End Testing     # If a user has no email address listed
        if (($emailaddress) -eq $null)
        {         $emailaddress = $testRecipient    
        }# End No Valid Email     # Send Email Message
        if (($daystoexpire -ge "0") -and ($daystoexpire -lt $expireindays))
        {          # If Logging is Enabled Log Details
            if (($logging) -eq "Enabled")
            {             Add-Content $logfile "$date,$Name,$emailaddress,$daystoExpire,$expireson,$body" 
            }         # Send Email Message
            Send-Mailmessage -smtpServer $smtpServer -from $from -to $emailaddress -subject $subject -body $body -bodyasHTML -priority High -Encoding $encoding
                    } # End Send Message
      } # End User Processing
    # End

  • Running a powershell script through task scheduler

    Hi,
    when I run a script using task scheduler, the prompt closes after the script ended. What is the argument to leave the prompt open?
    Thanks,
    Ashley

    Hi Ashromeo,
    Maybe you need to set excution plicy efore you running the script by the following command :
    Set-ExecutionPolicy RemoteSigned
    For details please refer to following link :
    http://technet.microsoft.com/en-us/library/hh849812.aspx
    Best Regards
    Elton Ji
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • Windows Task Scheduler does not execute .vbs script as exptected while using CScript.exe

    We have a .vbs script that reads a source text file, looks for errors, performs a find/replace and then writes a cleaned version of the file to a destination folder.
    When executing the script by manually double clicking on the .vbs file, the script works flawlessly.  But when executing via Windows Task Scheduler using Cscript.exe, it creates an empty, zero byte, text file.  Task Scheduler is set to run
    "C:\Windows\System32\cscript.exe" with the Add arguments (optional): C:\Scripts\myscript.vbs.
    Does anyone know of a way to make it work using the Windows Task Scheduler?
    Part of the Script:
    Sub CheckFilesIntegrity()
    Dim cleanedfile,strLine,outputStr, tempstr, tmpChar, changeTo, companycode, storestring
    Dim ObjFileSys, objFile,objCleanFile
    charArray = Array("-","?", "/", "\", ":", "*", """", "<", ">", ",", "&", "#", "~", "%", "{",
    "}", "+", "_", ".", "a", "e", "o", "s", "h","i","E", "O","P", "S", "p", "=")
     Set ObjFileSys   = CreateObject("Scripting.FileSystemObject")
     Set objCleanFile = CreateObject("Scripting.FileSystemObject")
     Set objFile = ObjFileSys.OpenTextFile(file.name, ForReading, True)
     textfilename = destinationpath & objfilesys.GetBaseName(file) & ".txt"
     Set cleanedfile = objCleanFile.OpenTextFile(textfilename, ForWriting, True)
     ObjLog.writeline "File containing cleaned up data: " & textfilename
     Do while not objfile.AtEndOfStream
         strLine = objfile.ReadLine()
         tempstr = strLine
         If (Left(UCase(tempStr),8) <> "HPAYMENT") Then
          'fix pay now data entry whre record does not have a company code
          If Mid(tempstr, 18,3) = "000" Then
           companycode = Mid(tempstr,32,3)
           storestring = Left(tempstr,17)
           tempstr =Replace(tempstr,"000",companycode,18,1,1)
           tempstr = storestring & tempstr
           storestring = Left(tempstr,31)
           tempstr= Replace(tempstr,companycode,"000",32,1,1)
           tempstr = storestring & tempstr
          End If
          'remove invalid characters and replace them with zero (filler)
       For Each tmpChar in charArray
        Select Case tmpChar
         Case "-","?", "/", "\", ":", "*", """", "<", ">", ",", "&", "#", "~", "%",
    "{", "}", "+", "_", ".", "a", "e", "o", "s", "h","i","E", "O","P", "S", "p", "="
         changeTo = "0"
         outputStr = replace( tempstr, tmpChar, changeTo,1,-1,1 )
        End Select
        tempstr=outputstr
       Next
      Else
       outputStr = tempstr 
      End If
        strLine = outputStr
      cleanedfile.writeline(strLine)
     Loop
     cleanedfile.Close
     Set cleanedfile = Nothing
     Set ObjFileSys = Nothing
     Set objFile = Nothing
     ObjLog.writeline " Completed processing of file: " & textfilename
    End Sub

    So we ended up getting it to work by replicating the double click function.  Meaning that we created a Batch file that calls the .vbs script, then had Windows Task Scheduler run the Batch file.  In that way all necessary permissions were passed
    through from one environment to another, which was failing when we called the .vbs script using CScript.

  • Executing powershell scripts via Task Scheduler

    Hi,
    I have a powershell script that I wrote that when executed from the shell works fine but when executed from task scheduler does not work.
    In my script, an email is sent out based on the results of the execution.  When I run this from the shell, email goes out, when scheduled, no email and there is no indication of errors having occurred anywhere in the system.
    Has anyone run into a similar issue?
    I did change my powershell execution policy to be unrestricted (both in the x86 and x64 consoles).  I am running Windows 2008 R2.
    Thanks - Greg.

    Hi,
    In addition the above suggestions, please also refer to the below threads:
    Using Task Scheduler for a powershell script on server 2008
    http://social.technet.microsoft.com/Forums/en-US/ITCG/thread/e298d613-47b8-4492-92d1-0b55cc8497c1
     Using Windows Task Scheduler to execute Powershell Script frequently
    http://social.technet.microsoft.com/Forums/en-US/winserverpowershell/thread/5901a6ad-ba18-4817-82a9-f75d2d6b439f
    Hope this helps.
    Best Regards,
    Yan Li
    Yan Li
    TechNet Community Support

  • Firefox 4 was functioning well until two days ago. Browser will not open to my home page and tool bars do not appear. Was able to find toolbar but "back" button does not work. What changed?

    Firefox now opens to a blank page and the word Firefox appears in upper left hand corner in orange. It, apparently, contains a drop down menu. I can navigate from here but "back" button does not function in any website. How do I get it back to where it was previous to this change?

    You can change this if you don't mind peeking under the covers into Firefox's about:config preferences editor.
    (1) In a new tab, type or paste about:config in the address bar and press Enter. Click the button promising to be careful.
    (2) In the filter box, type or paste newtab and pause while the list is filtered
    (3) Double-click the browser.newtab.url preference and enter the desired value:
    (i) Page thumbnails (default)
    browser.newtab.url = about:newtab
    (ii) Blank tab
    browser.newtab.url = about:blank
    (iii) Built-in Firefox home page
    browser.newtab.url = about:home
    (iv) Any other page
    browser.newtab.url = full URL to the page
    Press Ctrl+t to open a new tab and verify that it worked. Fixed?

  • My Firefox version is 13.0.1, I use Windows Seven 64-bit, when I click on Firefox, but the program does not run! But Firefox is seen in the list of Windows proc

    My Firefox version is 13.0.1, I use Windows Seven 64-bit, when I click on Firefox, but the program does not run! But Firefox is seen in the list of Windows processes, while Firefox does not run.
    I manually deleted Firefox from the list once I have Windows processing.
    And when I clicked on Firefox, Firefox will open quickly and easily.
    Firefox process in Windows Processes names list called "firefox.exe * 32" is.
    Please try to solve my problem, my problem is how to solve?

    Hi, are you saying that you start Firefox and it stalls -- you can see it in the Task Manager but it never displays -- but if you kill that process and start Firefox again it starts up properly that second time?
    If you look at the statistics available in the Task Manager's processes tab such as bytes read or other bytes, can you see whether Firefox is doing anything at all? ''Note: You might need to add columns if your Processes tab isn't set up to display statistics. You can do that from the View menu.''
    You might already have seen these troubleshooting articles. If not, does anything here help:
    * [[Firefox won't start - find solutions]]
    * [[Firefox hangs or is not responding - How to fix]]

  • HT204291 Using Azul media player app on my ipad  Apple tv will only display sound but not video from movies.  Any ideas on a fix.  I set mirroring to on but it still does not display video.  It will display photos and video recorded from my iphone.

    Using Azul media player app on my ipad  Apple tv will only display sound but not video from movies.  Any ideas on a fix.  I set mirroring to on but it still does not display video.  It will display photos and video recorded from my iphone.

    Here are the steps for AirPlay:
    Before starting Azul from your (running iOS 5.x/6.x) home screen where have have all your apps we need to turn on mirroring
    On your iPhone 4S/5 or iPad 2 or 3, double-click the Home  Button to view your recently-used apps.
    Swipe all the way to the right to until you see the  icon.
    Note: If the icon does not appear, go to the "If AirPlay Mirroring is not visible or available on your mobile iOS device" section.
    Tap the  icon to see the list of available AirPlay devices.
    Enable AirPlay Mirroring in this menu by tapping on an available Apple TV, then sliding the Mirroring slider to ON.
    Now you should be seeing your iPad/iPhone on your TV.
    Start up Azul now and using the settings icon on the top right corner go to the option that say "TV out" ON.
    When you do that you will see an Orange screen
    Now click "Done" and play the video you want to watch and it will AirPlay

  • I was running KeyPassFox with Firefox 8.0.1, but the plugin does not work in the new release (9) . Is there a way to restore my previous version with all of my bookmarks intact? I do not mind if I have to restore the plugins myself.

    I was running KeyPassFox with Firefox 8.0.1, but the plugin does not work in the new release (9) . Is there a way to restore my previous version with all of my bookmarks intact? I do not mind if I have to restore the plugins myself.
    The plugin shows on the list as enabled and functioning, yet the tool does not show on the toolbar. It would appear that I need to restore the previous version of Firefox and wait until a newer release of the plugin is available before upgrading the browser.

    I copied the iTunes file from the external drive and it's in both places.  I thought all I would need is the iTunes program (which I downloaded to new computer) and my iTunes library file.  There must be something else that's missing.  My iTunes library looks the same on the new computer as it does when I open it on the external drive.  If I click on an iTunes library song from my new computer, it will only play if I have the external drive plugged in.
    My back-up drive is a mess.  I have multiple copies of music, video, photo, and document files and I don't know how that happened. ={  Obviously, I don't know how to back up stuff properly and there are back-up files extending over a 6- to 8-year period.  I think all I did was just drag and drop the main folders from the back-up drive to the same main folders on the C: drive.  Also (and I'm kind of fuzzy on this) Windows used to automatically save music files in a folder within my document files (which makes no sense to me).  As my Jewish friends would say, "Oy Vey!" 

  • Trying to download image files into lightrrom 5 on an imac running 10.8.5. Works fine with camera roll section but Icloud section does not appear as source in lightroom. How to access?

    Trying to download image files into lightrrom 5 on an imac running 10.8.5. Works fine with camera roll section but Icloud section does not appear as source in lightroom. How to access?

    You need to sync them in iTunes and download them there, then simply open them from the folder where they are stored in other programs.
    Mylenium

  • I need to run web based Microsoft CRM. I open it in Safari but the program does not respond. I suppose it has to do with Flash or ActiveX. Can someone help?

    I need to run web based Microsoft CRM. I open it in Safari but the program does not respond. I suppose it has to do with Flash or ActiveX. Can someone help?

    What does the product developer say about system requirements? If it needs to be run from within Internet Explorer then you'll need to find a way to run Internet Explorer. Boot Camp or VM installation of Windows would be two options.
    But first check the product requirements.

  • I am using 10.6.8 and I cannot get an Imac to appear in workgroup manager, the mac is bound to both AD and OD. I have removed the bindings, rebuilt the mac and also removed it from bot system but still it does not appear in OD in work group manager.

    I have a mac which is connected to a network and is bound to both OD and AD with no issues on my server when I try to manage it through Workgroup manager it does not appear.
    I have unbound it , removed it from both systems completely and even rebuilt it but it still does not appear in WGM.

    If your server is 10.6 and your client is 10.7 you'll have to add it manually to WGM
    via mac address.  10.7 clients don"t automatically appear in 10.6 server wgm

  • I would select a link from the drop down on the address bar but the page would not open. I would select it again but the page does not open. I could only reach website by selecting google on most visited list.

    After updating AVG anti-virus, I encountered a problem on Firefox. I would select a link from the drop down on the address bar but the page would not open after clicking on it. I would select it again, even double click, but the page does not open. I could only reach website by selecting google or yahoo from my dropdown on the most visited list and then click the website that I want to visit. I would like to do this in one step by just selecting a link from my history on the address bar and select a link instead of going to google and then writing the page I want to visit. What could be the problem? When going to the address bar to select a link to open, why does the site not open? Any help would be appreciated.

    Hi,
    Please check if this happens in [https://support.mozilla.com/en-US/kb/Safe%20Mode Safe Mode.]
    [http://kb.mozillazine.org/Problematic_extensions Problematic Extensions]
    [https://support.mozilla.com/en-US/kb/Troubleshooting%20extensions%20and%20themes Troubleshooting Extensions and Themes]
    [http://support.mozilla.com/en-US/kb/Uninstalling+add-ons Uninstalling Add-ons]
    [http://kb.mozillazine.org/Uninstalling_toolbars Uninstalling Toolbars]

  • My imac is not recognizing any external dvd writer drive. I have imac with Core i7 and Mac OS 10.6.8. I have tried external dvd writers from Samsung and Amazon Essentials but the computer does not recognize any of them. Which Dvd writer is compatible?

    My imac is not recognizing any external dvd writer drive. I have imac with Core i7 and Mac OS 10.6.8. I have tried external dvd writers from Samsung and Amazon Essentials but the computer does not recognize any of them. Which Dvd writer is compatible?

    I have an external firewire burner; it never shows on the desktop unless I insert a CD or DVD - that icon will then show (if I have my preferences set to show those on the desktop). Hae you checked in Disk Utility (Applications > Utilities) to see if it is listed under drives?

  • R1: tcAPIException: Duplicate schedule item for a task that does not allow multiples.

    Hi,
    I'm struggling with the following task:
    I have to assure an account exists for a given resource. I do provision it with the .tcUserOperationsIntf.provisionObject().
    I've created a createUser task to create the account.
    The task code checks if there is already matching account.
    If no account exists, is is created in the disabled state, and the object state of OIM account is set to 'Disabled' by means of task return code mapping.
    If it exists, it is 'linked' to OIM account.
    The problem is if the existing account is enabled, I have to change the OIM account state to 'Enabled' either.
    To implement this (thanks, Kevin Pinski https://forums.oracle.com/thread/2564011 )) I've created an additional task 'Switch Enable' which is triggered by a special task return code. This task always succeeds, and its only side effect is switching the object status to 'Enabled'.
    By I've getting the 'Duplicate schedule item for a task that does not allow multiples' exception constantly:
    This is the stack trace:
    Thor.API.Exceptions.tcAPIException: Duplicate schedule item for a task that does not allow multiples.\
      at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.provisionObject(tcUserOperationsBean.java:2925)\
      at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.provisionObject(tcUserOperationsBean.java:2666)\
      at Thor.API.Operations.tcUserOperationsIntfEJB.provisionObjectx(Unknown Source)\
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\
      at java.lang.reflect.Method.invoke(Method.java:601)\
      at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)\
      at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)\
      at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)\
      ...skipped
      at Thor.API.Operations.tcUserOperationsIntfDelegate.provisionObject(Unknown Source)\
      ... skipped
    What did I wrong?
    Regards,
    Vladimir

    Hi Vladimir,
    Please select 'Allow Multiple Instance' checkbox for the process task.
    Thanks,
    Pallavi

Maybe you are looking for