Forum Discussion
DHIMANS
Aug 01, 2023Copper Contributor
Powershell Script not running through Task Scheduler
I am getting the desired output from the below script manually through PowerShell ISE. But the same script is not running through Task Scheduler. It's showing as completed (in Task Scheduler History) but it did not copy file from "\\MICROSOFT.COM\AD$" to "F:\Reports" folder.
$SourcePath = "\\SERVER1.MICROSOFT.COM\AD$"
$password = Get-Content F:\Reports\ImpCred\encrypted_passwd.txt | ConvertTo-SecureString
$creds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "MICROSOFT\SVC_REPORT", $password
New-PSDrive -Persist -Name "U" -Root $SourcePath -PSProvider "FileSystem" -Credential $creds
Copy-Item "U:\ADReport__$((Get-Date).ToString('dddd')).htm" -Destination "F:\Reports" -ErrorAction SilentlyContinue
Remove-PSDrive U
- F:\ is a local disk? Which account are you running the Task? You could add a Start-Transcript c:\temp\log.txt as the first line and a Stop-Transcript as the last line to see what's going on if it's being run as a Task. (Create c:\temp first, or choose another location)
- DHIMANSCopper ContributorYes. F:\ is a local drive. As per my latest observation the task scheduler can't read the encrypted password file (F:\Reports\ImpCred\encrypted_passwd.txt).
************************************************************************************
ConvertTo-SecureString : Key not valid for use in specified state.
At F:\Reports\MapDrive23.ps1:2 char:80
+ ... ts\ImpCred\sencrypted_passwd.txt | ConvertTo-SecureString
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [ConvertTo-SecureString], CryptographicExcepti
on
+ FullyQualifiedErrorId : ImportSecureString_InvalidArgument_CryptographicError,Microsoft.Pow
erShell.Commands.ConvertToSecureStringCommand
New-Object : Exception calling ".ctor" with "2" argument(s): "Cannot process argument because the
value of argument "password" is null. Change the value of argument "password" to a non-null
value."
At F:\Reports\MapDrive23.ps1:3 char:10
+ $creds = New-Object -TypeName System.Management.Automation.PSCredenti ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [New-Object], MethodInvocationException
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewO
bjectCommand
Name Used (GB) Free (GB) Provider Root CurrentLo
cation
---- --------- --------- -------- ---- ---------
U FileSystem \\SERVER1.MICROSOFT.COM....
************************************************************************************- I think you have to encrypt the password with the same user that your Scheduled Task is configured for
- Any update?