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
Similar Messages
-
Executing powershell script via task scheduler
Hello,
I am trying to execute powershell script via windows task scheduler which will forcefully delete all email in a mailbox, but I am getting the below errors
Operational Code - 2
Task Category - Action Completed --- Task Scheduler successfully completed task "\IL98" , instance "{2b193375-cbd2-4986-918d-3cfd4027d6b6}" , action "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" with return code 0.
Last Run Result - 0X0
When I am adding additional cmdlets in the script "Set-ExecutionPolicy Unrestricted", I am getting Last Run Result 0X5 rest of the error remains the same.
Powershell version - 3.0
Task Scheduler version - 1.0
If I try to run the script manually via Exchange Powershell the script executes without any errors
Thanks in Advance,
Ankush ShahI figured out the problem, there wasn't any problem with the script but I had to correct inputs in windows task scheuler
Below is the resolution:
Under Actions:
Program/Script --> ws\System32\WindowsPowerShell\v1.0\powershell.exe
Add Argument --> -noexit -command ". 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto
; <filepath>"
Eariler I was writing the filepath after double quote "
Also I have selected the option "Run with Highest Privilages" to avoid
0x5 error -
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,
AshleyHi 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. -
Executing powershell ise(x86) scripts via Task Scheduler
hi
i have powershell script that can only run with powershell ISE(X86)
and i want to add it to Task Scheduler
but my problem is when i try to test the script using "Powershell" or "run" before i add it to the Task Scheduler
using "powershell" i wrote :
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell_ise.exe -file "c:\my path\update.ps1"
and it only open the script in powershell ISE(X86) without Executing the script
how can i Execute the script not open it ??thanks
I didnt try your solution
but i solved the problem
it was two step first instead of using Set-Culture
I use
$nc = New-Object Globalization.CultureInfo 'ar-kw'
then i add Type Font 'Courier New' to powershell font
in regedit.exe
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Console\TrueTypeFont
the character may not be readable in the console because they are from left to right and there are spaces between each character
but when i update my ADUC or send them to out-file they become readable
these are the references for solution
change the CultureInfo :
http://www.vistax64.com/powershell/16358-how-do-i-explicitly-set-currentculture.html
Add Font 'Courier New' to powershell
http://silentcrash.com/2012/05/how-to-add-hebrew-to-powershell-or-command-cmd-console/ -
Execute PowerShell Scripts via SAP NetWeaver Identity Management
Hello,
Has anyone implemented the execution of a PowerShell script from SAP NetWeaver Identity Management (7.1, 7.2, 8.0?). Currently implementing 8.0, and our client is looking to kick off PowerShell scripts that would generate Active Directory accounts, Exchange accounts etc.
Thanks!Hey Brendan,
We've done this out of a 7.2 implementation for exchange 2010 admin processes. We started with running powershell via a command line pass. It worked pretty well but it wasn't plain sailing. We used positional parameters to pass data to the scripts in question, we also had to come up with a return process that deals with any errors that might come of the powershell session. We had some issues with the shell sessions closing after the script completed.
We've since redesigned and now drop flat files to a constantly running powershell script that acts a bit like an IDM dispatcher (but obviously not integrated with IDM). It kicks off other powershell sessions and monitors their progress allowing it to process time outs, stack work up, etc.
We also found timing the processes to be an issue. If you create an AD account in IDM and then try to immediately move onto mailbox enable (for example) the account we created wasn't yet replicated to exchange so we had to build wait time into various parts of the process.
Thanks,
Pete. -
Executing PowerShell script via JAVA
Hi,
I have simple powershell script as below :
# Filename: Hello.ps1
Write-Host
Write-Host 'Hello World!'
Write-Host "Good-bye World! `n"
# end of script
I wish to run this script via JAVA by the below JAVA code -
import java.io.*;
public class PsJava {
public static void main(String[] args)
throws IOException{
Runtime runtime = Runtime.getRuntime();
String cmds = (String)
"cmd /C powershell C:/Documents and Settings/vvenkata/My Documents/Hello.ps1";
Process proc = runtime.exec(cmds);
proc.getOutputStream().close();
InputStream inputstream = proc.getInputStream();
InputStreamReader inputstreamreader =
new InputStreamReader(inputstream);
BufferedReader bufferedreader =
new BufferedReader(inputstreamreader);
String line;
while ((line = bufferedreader.readLine()) != null) {
System.out.println(line);
Thanks
Now, why is that I am not able to see any print statements from Hello.ps1 ? Can anyone help me on this?Hi,
I have place my powershell script in the 'C' directory. and i have changed my JAVA code as below, but it still doesn't give any output in my Eclipse Console.
import java.io.*;
public class PsJava {
public static void main(String[] args)
throws IOException{
Runtime runtime = Runtime.getRuntime();
String cmds = (String)
"cmd /c powershell c:/Hello.ps1";
Process proc = runtime.exec(cmds);
proc.getOutputStream().close();
InputStream inputstream = proc.getInputStream();
InputStreamReader inputstreamreader =
new InputStreamReader(inputstream);
BufferedReader bufferedreader =
new BufferedReader(inputstreamreader);
String line;
while ((line = bufferedreader.readLine()) != null) {
System.out.println(line);
Please advice me on this. If I have to create a batch file, then can you let me know how do I do that?
Thanks -
Hi All ,
In my environment we are having exchange 2013 enterprise edition with SP1 which is installed in windows server 2012 standard edition.
We have enabled mailbox auditing for few mailboxes and also we have made simple powershell script with only the below mentioned commands .when i run the ps1 script in exchange management shell ,i can able to get the relevant output.
CMDLETS in powershell script :
Search-MailboxAuditLog -StartDate ((Get-Date).AddHours(-24)) -EndDate (Get-Date) -showdetails | fl >e:\output.txt
Note : we are having only the above commands in ps1 script , apart from that we don't have anything in it .
Sametime i have scheduled the same powershell script via task scheduler .But i cannot able to get the valid output ,instead of that i was getting a blank output file with no data in it .
Steps handled on my side to run the powershell script in task scheduler:
1.when i remove the parameter showdetails in the ps1 script ,i can able to get the output in the txt file .But in my scenario showdetails is the only parameter which will brought me more and in depth details about mailbox auditing.
The Difference what i have seen between exchange 2010 and exchange 2013
when in run the same powershell script via task scheduler in exchange 2010 enterprise environment installed in windows server 2008 r2 enterprise OS, i can able able to get the proper output without removing the showdetails parameter .
I am using the below methods to run the ps1 file via task scheduler in exchange 2013 environment .
program/script : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Add arguments : -PSConsoleFile "E:\Program Files\Microsoft\Exchange Server\V15\Bin\exshell.psc1" -Command ". 'C:\scripts\MailboxAuditReport\test.ps1'"
I have mentioned the error below and that is the one what i have faced, when i try to run the PS1 script directly in windows powershell and not in exchange management shell .
Error message : "the requesting account does not have permission to access the audit log"
Please help me out to resolve this case .
Thanks
S.NithyanandhamHi All ,
In my environment we are having exchange 2013 enterprise edition with SP1 which is installed in windows server 2012 standard edition.
We have enabled mailbox auditing for few mailboxes and also we have made simple powershell script with only the below mentioned commands .when i run the ps1 script in
exchange management shell,i can able to get the relevant output.
CMDLETS in powershell script :
Search-MailboxAuditLog -StartDate ((Get-Date).AddHours(-24)) -EndDate (Get-Date) -showdetails | fl >e:\output.txt
Note : we are having only the above commands in ps1
script , apart from that we don't have anything in it .
In case, if i have scheduled the same powershell script via task scheduler .But i cannot able to get the valid output ,instead of that i was getting a blank output file with no data in it .
Steps
handled on my side to run the powershell script in task scheduler:
1.when i remove the parameter showdetails
in the ps1 script ,i can able to get the output in the txt file .But in my scenario showdetails is the only parameter which will brought me more and in depth details about mailbox auditing.
The
Difference what i have seen between exchange 2010 and exchange 2013
when in run the same powershell script via task scheduler in exchange 2010 enterprise environment installed in windows server 2008 r2 enterprise OS, i can able able to get the proper output without removing the showdetails parameter .
I
am using the below methods to run the ps1 file via task scheduler in exchange 2013 environment .
program/script : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Add arguments : -PSConsoleFile "E:\Program
Files\Microsoft\Exchange Server\V15\Bin\exshell.psc1" -Command ". 'C:\scripts\MailboxAuditReport\test.ps1'"
I have mentioned the error below and that is the one what i have faced, when i try to run the PS1 script directly in windows powershell and not in exchange management shell .
Error message : "the requesting account does
not have permission to access the audit log"
Please help me out to resolve this case .
Thanks
S.Nithyanandham -
Batch/Powershell file wont run via Task Scheduler
Hello,
I'm having trouble getting my Powershell file to run from Task Schedule during logoff. In short, I'm trying to upload my NTUSER.DAT (roaming profile) to my profiles folder on the file server. Dynamic VLAN switching does not support roaming profiles thus
I have to use a script to solve this issue.
My powershell script is as follows:
start-sleep -s 15
Set-Content -Path "C:\Temp\log.txt" -Value "Hello World"
$FileServer = 10.10.5.5
$FQDN = "$Env:UserDomain"
$User = Get-WmiObject -Class Win32_NetworkLoginProfile | Sort-Object -Property LastLogon -Descending | Select-Object -Property * -First 1 | Where-Object {$_.LastLogon -match "(\d{14})"} | Foreach-Object { New-Object PSObject -Property @{ Name=$_.Name.TrimStart("$FQDN\") }} | Select -ExpandProperty Name
copy-item -path C:\Users\$User\NTUSER.DAT -destination \\$FileServer\Profiles$\$user.V2\ -force
copy-item -path C:\Users\$User\NTUSER.DAT -destination \\$FileServer\Profiles$\$user.V3\ -force
I have a task schedule to run as Domain Admin when event ID 4647 occurs (logoff). It is set to run with the Highest Privileges checked, also I have enabled to run weather the user is logged in or no. The Domain Admin account also has access to ever file,
both at source and destination. Set-ExecutionPolicy is set to unrestricted. The way I call the powershell script in Task Scheduler is:
Action: Start a program
Program/Script: C:\temp\launch.bat
The launch.bat contains the following:
Powershell.exe -executionpolicy unrestricted -File "CALL C:\temp\powershell.ps1"
The task is triggered each time when the user logs off, I have confirmed this in the logs. But the NTUSER.DAT file fails to copy over to the network, in fact the log.txt file isn't even generated. I have confirmed my code to work, it's just the task scheduler
part calling the code where I think it fails.
Can you guys point me in the right direction here? I know I'm close, but not sure what I'm missing.Jrv,
Yes in my testing the task schedule is unreliable, I don't have any info on how long the profile is locked, thus I can't copy the profile to the server when the OS still has it locked.
What do you propose I change my vlan configuration to?
Thanks.
What you are trying to do cannot be done. That is why it is not being done. If you set up roaming profiles and redirected folders this would happen automatically. It would also happen very quickly. THat is because Windows posts cahnges
to teh roamed image as they happen. Only changes are copied. Items in teh registry which are only valid during logon (Dynamic Entries) are nver copied so updates that are not needed are not posted. It is these updates thaat can keep the registry
locked for a very long time.
If you scan your network you will likely find hives thaat are loaded with no one logged in. WIndows 7 and later have a utility that forces and unload after a few minutes. It posts the reson for the forced unload to the event log.
As for the VLAN it is likely not configured correctly. THe profile must be on a server that is available on the same net ID as the PC. YOu may also have to allow the switch to suspend if you are using per-user conenctions. Contact the VLAN
vendor and tell them about issues with Roamed profiles. THey will walk you through the setup. THe most common issue is thaat the switch specifies 1Gb and the server is set to 100Mb and the switch is not set to match the speed. THisis a simplpe
configuration error done by a tech who does not have much experience with VLANs. THey tend to think that setting everything to 1Gb or some other maximum will work but it won't. It can also be caused by a files server with a 1Gb card that is a pront
spooler spooling to a 100 or 10Mb older printer. This disrupts the card and the VLAN cannot attach to it until the spooler is dona nd the card can switch. It can also be caused by a bad card or a bad switch.
Then VLAN vendors techs are usually very good at troubleshooting this kind of issue. Remote VLAN logging and diagnostics can also pick out the issue.
¯\_(ツ)_/¯ -
Execute powershell script in OIM task
Hi everyone,
I have a powershell script.
I want to execute this script on exchange machine.
How can I do this?
Can you send a code blok that executes powershell script if you have?
Thanks.
Best regards.Hi FXE,
first of all, to protocol execution you can use the cmdlets Start-Transcript
and Stop-Transcript.
If it doesn't create a transcript at all, your error is with launching the console from task.
If it does create a transcript, you can (hopefully) see what the script wrote.
On general principle I'd recommend trying these things:
Try specifying the full path to powershell.exe
Make sure the user running the task has the necessary permissions
Make sure it's running as local admin (with maximum privileges)
Cheers,
Fred
There's no place like 127.0.0.1 -
How to change maintenance powershell script via GPO?
Per suggestion reposted from here: http://social.technet.microsoft.com/Forums/windowsserver/en-US/6eece9d6-a524-48aa-8e64-7554f0ec9b31/how-to-change-maintenance-powershell-script-via-gpo?forum=winserverGP
Posted at http://answers.microsoft.com/en-us/windows/forum/windows_7-desktop/desktop-shortcuts-to-items-on-network-drives/94eddb27-342b-40fc-9ad4-677ff4ee8ebe?page=9&tm=1403700614489 originally.
There is a very annoying "feature" in Windows 7 called BrokenShortcuts.ps1 which is being called out weekly via maintenance task and if it finds more than 4 "broken" network shortcuts it removes them all. So it means if a user at this
moment is disconnected from the network he will lose all links to shares, network applications sitting on his desktop. Funny that there was no such script on Vista and i don't see this on Win8. On the post i have attached one user suggested to edit this script
and change 4 to 500 or whatever high number. That's fine for one time fix. But i need to do this for 200+ users. This file cannot be simply replaced by a script, so i'm wondering is there any way to do it via GPO?
I have already tried various startup scripts, but i'm not sure which user to put into commands.
I need to run this on startup:
takeown /F C:\Windows\diagnostics\scheduled\Maintenance\TS_BrokenShortcuts.ps1
icacls c:\windows\diagnostics\scheduled\maintenance\TS_BrokenShortcuts.ps1 /grant "some user":F
copy \\share\folder$\TS_BrokenShortcuts.ps1 C:\Windows\diagnostics\scheduled\Maintenance\ /YYou need to take time to study how Windows does these things. You can control them with GP which is what you asked. The article shows you how to disable elements of the tasks. Each task controls a script. If you disable the task the
script that deletes shortcuts will be stopped. Other maintenance tasks will continue to run.
Most of your problem is that you seem to want someone to provide a magical solution. In technology it is necessary to fully research your issues until you understand all aspects. After fully studying the issue you should understand the possible
solutions if they exist.
You claim to have deployed the patch that Microsoft released to fix the issue. You claim it didn't work. If that is the case then you need to call MS and \p[en a support incident. If Microsoft determines that you are right about the
patch not working you will not be charged for the call.
I know that learning how to support technology is hard and frustrating for newcomers. In time, by using these incidents to learn, you will become a seasoned technician and all of this will seem trivial. Until then we can only suggest that you
do things that most of us are familiar with. We cannot fix your network for you.
I think you haven't really posted in the GP forum but posted a question about GP in the server forum. Try posting in the GP forum.
http://social.technet.microsoft.com/Forums/windowsserver/en-US/home?forum=winserverGP
Here is one answer from the GP forum:
http://social.technet.microsoft.com/Forums/windowsserver/en-US/home?forum=winserverGP
http://social.technet.microsoft.com/Forums/windowsserver/en-US/600ca14f-8b1b-400c-b27f-a7f5733407ac/windows-scheduled-maintenance-task?forum=winserverGP
¯\_(ツ)_/¯ -
Execute photoshop script via illustrator cs5
Hi
Is it possible to execute Photoshop script via illustrator
I have 2 different script
script 1 work in illustrator with eps file and export as jpeg
script 2 where i want to trim the exported jpeg for illustrator in photoshop and save it back
I have 2 differnt script with me
can anyone help me to club both and run at same time..
Thank you
Appuuse BridgeTalk to have Illustrator talk to Photoshop, here's a sample by Mark
Illustrator script to open file in Photoshop
or use inter app communication
open PS, open a document
// start your illustrator script
var Aidoc = app.activeDocument;
continue with your script
// when ready, call your photoshop script
// this sample alerts the active document name and closes it
photoshop.executeScript("alert('document name: ' + app.activeDocument.name); app.activeDocument.close()"); -
Executing powershell script from remote computer using RSAT
Hi.
I want to execute powershell script on AD server from remote computer (in the same domain). I installed and tested RSAT - it is working fine. But i cant execute PS from c# code.
ps.Commands.AddCommand("Import-Module").AddArgument("ActiveDirectory");
ps.Invoke();
ps.Commands.AddCommand("Get-ADOrganizationalUnit -Filter 'Name -like \"*\"'");
var res = ps.Invoke();
And i get exception:
An unhandled exception of type 'System.Management.Automation.CommandNotFoundException' occurred in System.Management.Automation.dll
Additional information: The term 'Get-SBNamespace' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.Hi
CapitanPlanet
For the
CommandNotFoundException, it means the command cannot be found.
On the other hand, your issue is about the PowerShell, if you still have the issue, I suggest that you should post it in the
PowerShell forum for efficient response.
Here are some useful information, please check
Powershell
commands from C# not working (System.Management.Automation.CommandNotFoundException)
Powershell, Service Bus For Windows Server Programmatically: Command found, module could not be loaded
https://msdn.microsoft.com/en-us/library/dn282152.aspx
Best regards,
Kristin
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.
Click
HERE to participate the survey. -
Executing SCVMM PowerShell scripts via C# conditionally works depending on application type
I suspect that this is the wrong forum but I could not find one that was appropriate.
The environment is SCVMM 2012 R2. I have a series of PowerShell scripts that are executed via C# code from a variety of applications -- MVC, WCF, console, unit tests. It seems that successful connection to the VMM server is dependent on the type of application
being used. For example, console apps and WCF apps can connect successfully but the
same code running in a unit test or standard MVC app throw the following exception:
{You cannot access VMM management server SC-01. (Error ID: 1604)
Contact the Virtual Machine Manager administrator to verify that your account is a member of a valid user role and then try the operation again.}
CategoryInfo: {ReadError: (:) [Get-SCVirtualMachine], CarmineException}
ErrorDetails: {You cannot access VMM management server SC-01. (Error ID: 1604)
Contact the Virtual Machine Manager administrator to verify that your account is a member of a valid user role and then try the operation again.}
Exception: {"You cannot access VMM management server SC-01.\r\nContact the Virtual Machine Manager administrator to verify that your account is a member of a valid user role and then try the operation again."}
FullyQualifiedErrorId: "1604,Microsoft.SystemCenter.VirtualMachineManager.Cmdlets.GetVMCmdlet"
InvocationInfo: Command = {Get-SCVirtualMachine}
PipelineIterationInfo: Count = 0
ScriptStackTrace: "at <ScriptBlock>, <No file>: line 1"
TargetObject: null
I suspect that somehow, each app is running under different credentials but I cannot see how that is possible. Each app exhibits the stated behavior whether running within Visual Studio (w/ IIS Express) [running under my own account] or published to the
server running under a specific specified account that definitely has permissions to the VMM environment.
This behavior is easily reproducible with the following code
-- PS Script as embedded resource
Get-SCVirtualMachine -VMMServer "SC-01"
-- C# code to load and execute script
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Management.Automation;
namespace LabManagement {
public class HyperVVirtualMachineManager {
public IEnumerable<Models.VirtualMachine> GetVirtualMachines() {
var vms = new List<Models.VirtualMachine>();
try {
using (var rs = System.Management.Automation.Runspaces.RunspaceFactory.CreateRunspace()) {
rs.Open();
using (var ps = PowerShell.Create()) {
ps.Runspace = rs;
var assembly = System.Reflection.Assembly.GetExecutingAssembly();
var scriptName = "LabManagement.Scripts.GetAllVirtualMachines.ps1";
using (var s = assembly.GetManifestResourceStream(scriptName)) {
using (var reader = new System.IO.StreamReader(s)) {
var script = reader.ReadToEnd();
ps.AddScript(script);
var output = ps.Invoke();
if (ps.Streams.Error.Count > 0) {
foreach (var item in ps.Streams.Error) {
// do something
if (output.Count > 0) {
foreach (var o in output) {
// do something
rs.Close();
catch (RuntimeException ex) {
// do something
return vms;
-- Console app (Success)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VirtualLabManagement.ConsoleTests {
class Program {
static void Main(string[] args) {
// Arrange
var svc = new LabManagement.HyperVVirtualMachineManager();
// Act
var hosts = svc.GetVirtualMachines();
// Assert
-- Unit Test (Fails)
[TestMethod]
public void TestMethod1() {
// Arrange
var svc = new LabManagement.HyperVVirtualMachineManager();
// Act
var hosts = svc.GetVirtualMachines();
// Assert
Assert.IsNull(hosts);
As you can see, the code is exactly the same between the different executions but the ability to connect differs.Hi Sir,
I would like to check the following items:
1. "a variety of applications -- MVC, WCF, console, unit tests." they are all installed on same computer?
2. VMM server still installed on same computer as these app resides in ?
(if it is possible please detail the topology of the environment )
If they are running at same account on same computer , I would suggest you to post this issue into Code UI forum for further assistance :
https://social.msdn.microsoft.com/Forums/vstudio/en-US/home?forum=vstest
Best Regards,
Elton JI
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact [email protected] . -
Execute powershell script from ssis?
Hi,
I was trying to use the execute process task to kick off a powershell script. However, nothing happens when I run in debug (the component turns yellow and stays yellow). Any idea if what I am trying to do is possible and the proper way to configure
it?
btw, I am using powershell for the remoting capabilites. I need to execute a bat file on a remote server which runs a process in a legacy program.
Update: When I name the ps1 script file in the executable window, it opens it in notepad. This would be like the default if you double clicked the file.
MarkTo run a PowerShell Script from SSIS package. Add a "Execute Process Task" in SSIS and use the following command text.
This works just great, plus the "-ExecutionPolicy ByPass" switch will take care of any server script policies.
C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe
-ExecutionPolicy ByPass -command ". 'L:\Powershell_Script\Script1.ps1' 'param1' 'param2'"
Regards
Deepak -
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.
Maybe you are looking for
-
Radio Frequency-confirmation OT on an outbound delivery with HU
Hello Every Body, I have a problem using standard transaction for the Radio Frequency. I explain my problem. I would like to make a Good Issue with an outbound delivery by RF. I create my outbound delivery with transaction MB1A. And then I want to do
-
Best Practice for Networking in UCS required
Hi We are planning to deploy UCS n our environment. The Fabric Interconnects A and B will need to connect to pair of Catalyst 4900 M switch. Whats is the best practice to connect? How should the 4900 switch be configured? Can I do port channel in UCS
-
I need a program to recover a deleted file.
Today I recently deleted a folder containing a month's work of school papers, thinking it was a shortcut to the folder. I was dumb enough to empty the trash can as well... Does anyone know of a program that I could use to recover my folder? I haven't
-
Sample data for oracle 10.1.0.4
Hi, On the companion cd samplel data are avialable for oracle 10g 10.1.0.2. I've upgraded the database to 10.1.0.4. Setup fails now. Two questions: can I install in a new oracle home? Are sample data available for 10.1.0.4? (I'm only interested in th
-
Execute a function c in pl-sql
hi, i would like execute a c function in pl-sql int iCalculate ( int op1, int op2 ) return op1+op2; i would like compile a the function with gcc and creat .o file and after use this file in pl-sql. it's possible? The performance of this system?