ifnt
asked on
Problem running Powershell Scripts scheduled through Task scheduler under Win 2003
Hi there,
I have a problem getting a powershell script to run automatically once a day.
I created a script to automatically backup some files from my server to another server. The scipt source is attached.
When I run the script from powershell, it works like a charm. However, when I create a task in Windows task scheduler (on my W2003 server), the script itself gets called (I can tell because the email is being sent), but nothing else happens. cp tells me '0 files copied'.
I don't understand this. How can the script run flawlessly when called directly and then seem not to find any paths when being called by taskscheduler.
I tried different ways of calling the script in task scheduler, inculding a .cmd wrapper that only calls 'powershell script.ps1', but nothing seems to work.
And yes, i did associate ps1 files with powershell, and I also set the security policy to remote signed.
Any help would be greately appreciated, as this is driving me nuts!
Thanks a lot,
Andreas
I have a problem getting a powershell script to run automatically once a day.
I created a script to automatically backup some files from my server to another server. The scipt source is attached.
When I run the script from powershell, it works like a charm. However, when I create a task in Windows task scheduler (on my W2003 server), the script itself gets called (I can tell because the email is being sent), but nothing else happens. cp tells me '0 files copied'.
I don't understand this. How can the script run flawlessly when called directly and then seem not to find any paths when being called by taskscheduler.
I tried different ways of calling the script in task scheduler, inculding a .cmd wrapper that only calls 'powershell script.ps1', but nothing seems to work.
And yes, i did associate ps1 files with powershell, and I also set the security policy to remote signed.
Any help would be greately appreciated, as this is driving me nuts!
Thanks a lot,
Andreas
echo "Datensicherung : Projektliste taeglich" > protokoll.txt
echo "Alte Dateien löschen (älter als 60 Tage)" >> protokoll.txt
delage32 \\MYSERVER\NASBackup\Projektliste\*.* 60 /created /includeRO /includeH >> protokoll.txt
echo "" >> protokoll.txt
mkdir \\MYSERVER\NASBackup\Projektliste\temp
cp E:\FilesToBeBackuped\* -destination \\WS-NET1-TS\NASBackup\Projektliste\temp -force -verbose:$true >> protokoll.txt
FBZip.exe -a -p -r \\MYSERVER\NASBackup\Projektliste\temp\Projektliste.zip \\MYSERVER\NASBackup\Projektliste\temp\ | out-null
cp \\MYSERVER\NASBackup\Projektliste\temp\Projektliste.zip -destination \\MYSERVER\NASBackup\Projektliste\Projektliste.zip >> protokoll.txt
NameDate.exe /F /U /Y /Z:Y-m-d \\MYSERVER\NASBackup\Projektliste\Projektliste.zip >> protokoll.txt
rm \\MYSERVER\NASBackup\Projektliste\Projektliste.zip >> protokoll.txt
rm -r \\MYSERVER\NASBackup\Projektliste\temp
get-ChildItem \\MYSERVER\NASBackup\Projektliste >> protokoll.txt
CommandlineEmailer /smtp:mail.mydomain.de /to:administrator@mydomain.de /s:"Sicherung Projektliste" /i:protokoll.txt
rm protokoll.txt
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Ok, I found the problem thanks to your tip concerning piping the script output to a log file and looking at it.
For the records: The problem was due to an authentication problem. The server I was trying to write to was a Buffalo NAS device. It is set up to do authentication against our Active Directory domain. However, it was not doing as it was telling it was, so the Domain Administrator user, as who I ran the script from within task scheduler, had no write access to that share on the NAS. When manually running the script from within my own window session, it worked fine, because my user had the appropriate rights on the Buffalo NAS.
I don't understand this NAS device, but now it works.
Thanks!
For the records: The problem was due to an authentication problem. The server I was trying to write to was a Buffalo NAS device. It is set up to do authentication against our Active Directory domain. However, it was not doing as it was telling it was, so the Domain Administrator user, as who I ran the script from within task scheduler, had no write access to that share on the NAS. When manually running the script from within my own window session, it worked fine, because my user had the appropriate rights on the Buffalo NAS.
I don't understand this NAS device, but now it works.
Thanks!
ASKER
For the records: The problem was due to an authentication problem. The server I was trying to write to was a Buffalo NAS device. It is set up to do authentication against our Active Directory domain. However, it was not doing as it was telling it was, so the Domain Administrator user, as who I ran the script from within task scheduler, had no write access to that share on the NAS. When manually running the script from within my own window session, it worked fine, because my user had the appropriate rights on the Buffalo NAS.
I don't understand this NAS device, but now it works.
Thanks!