Action a PS Encoded Script
The proper way to Action a PowerShell script is to either convert it to a ONE LINER, or simply Encode the contents. In this example, I want to create a Scheduled Task with the following results
Export third party drivers to C:\Exported Drivers
Log to C:\Windows\Logs\Drivers
Run as SYSTEM for Standard Users
Action Script
The following script is what would be run to export the drivers to C:\ExportedDrivers and to write a Transcript to C:\Windows\Logs\Drivers
$TaskName = 'Export-WindowsDriverOnline'
#======================================================================================
# Logs
#======================================================================================
$TaskLogs = "$env:SystemRoot\Logs\Drivers"
if (!(Test-Path $TaskLogs)) {New-Item $TaskLogs -ItemType Directory -Force | Out-Null}
$TaskLogName = "$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-$TaskName.log"
Start-Transcript -Path (Join-Path $TaskLogs $TaskLogName)
#======================================================================================
# Main
#======================================================================================
#if (!(Test-Path $TaskLogs)) {New-Item $TaskLogs -ItemType Directory -Force | Out-Null}
Export-WindowsDriver -Online -Destination $env:SystemDrive\ExportedDrivers
#======================================================================================
# Complete
#======================================================================================
Stop-TranscriptEncoding the Command
Its easy enough to put the script into a Variable $TaskScript and convert the Variable to $EncodedCommand
Splat the Action
The following example is how to Action the $EncodedCommand in the Scheduled Task
Full Script
Once I have that information, I can complete the script for creating my Scheduled Task
Results
The Task gets created properly with the Encoded script


Running the Task works flawlessly in exporting the drivers

And everything is logged in the PowerShell Transcript, including the Encoded Script

Last updated