From d7d516a0662c578b15daec7e5d3ddc257cb41471 Mon Sep 17 00:00:00 2001 From: Jason Shirk Date: Thu, 21 Jul 2016 09:40:03 -0700 Subject: [PATCH] Don't use Invoke-Expression --- demos/crontab/CronTab/CronTab.psm1 | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/demos/crontab/CronTab/CronTab.psm1 b/demos/crontab/CronTab/CronTab.psm1 index b694ddf52..813de1834 100644 --- a/demos/crontab/CronTab/CronTab.psm1 +++ b/demos/crontab/CronTab/CronTab.psm1 @@ -47,14 +47,13 @@ function ConvertTo-CronJob ([String] $crontab) { $cronjob } -function Invoke-CronTab ([String] $user, [String] $arguments, [Switch] $noThrow) { +function Invoke-CronTab ([String] $user, [String[]] $arguments, [Switch] $noThrow) { If ($user -ne [String]::Empty) { - $arguments = "-u $UserName $arguments" + $arguments = Write-Output "-u" $UserName $arguments } - $cmd = "$crontabcmd $arguments 2>&1" - Write-Verbose $cmd - $output = Invoke-Expression $cmd + Write-Verbose "Running: $crontabcmd $arguments" + $output = & $crontabcmd @arguments 2>&1 if ($LastExitCode -ne 0 -and -not $noThrow) { $e = New-Object System.InvalidOperationException -ArgumentList $output.Exception.Message throw $e