Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Using a PowerShell script to refresh an Excel Document through Windows Task Scheduler

Posted on 2016-11-21
3
Medium Priority
?
413 Views
Last Modified: 2016-11-21
I have written a simple Windows PowerShell script that opens an existing Excel document and refreshes all the data contained within;
$app = New-Object -comobject Excel.Application
$app.Visible = $True
$wb = $app.Workbooks.Open("C:\batch\Test.xlsx")
$wb.Name
$wb.RefreshAll()
$wb.Save()
$wb.Close()
$app.Quit()

When I run this script from Windows PowerShell ISE it works just fine, when I right click the .ps1 file and select Run with PowerShell it also works just fine. When I set this script to run in Windows task scheduler and select 'Run only when user is logged on' I'm able to successfully run it from Windows Task Scheduler. However, when I select 'Run whether user is logged on or not' it no longer runs, even if I select 'Run with highest privileges'.

Ideally I would like for this script to run regardless of whether anyone is signed on to this server, but doing some online research it seems like it is well documented that this is a difficult task to accomplish.

My online research did yield the following solution, that if I create these two foldesr;
C:\Windows\System32\config\systemprofile\Desktop
c:\windows\syswow64\config\systemprofile\desktop
it should allow the script to succeed, however, this has not seemed to work for me. Any advice or guidance would be most appreciated. Thanks in advance!
0
Comment
Question by:OCCU
3 Comments
 
LVL 41

Accepted Solution

by:
footech earned 2000 total points
ID: 41896422
It may work if you change to use this.
$app.Visible = $False

Open in new window


When 'Run whether user is logged on or not' is selected, you can't have any GUI elements or it's likely to fail.

You could add commands to your script to write to a log file, so you can see how far through the script it gets.  Error handling might have to be added if execution doesn't actually hang.
0
 
LVL 9

Expert Comment

by:Evan Cutler
ID: 41896426
I'm not sure how you set up your task scheduler, so here's what I found:

https://community.spiceworks.com/how_to/17736-run-powershell-scripts-from-task-scheduler
0
 

Author Closing Comment

by:OCCU
ID: 41896539
It seems to be working now!
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In previous parts of this Nano Server deployment series, we learned how to create, deploy and configure Nano Server as a Hyper-V host. In this part, we will look for a clustering option. We will create a Hyper-V cluster of 3 Nano Server host nodes w…
My attempt to use PowerShell and other great resources found online to simplify the deployment of Office 365 ProPlus client components to any workstation that needs it, regardless of existing Office components that may be needing attention.
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an anti-spam), the admin…
Loops Section Overview

824 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question