Мой скрипт должен загружать учетные данные и запускать код с повышением прав. Я пытаюсь включить один скрипт-блок в другой. И запустите Start-Process с различными наборами параметров. У меня ошибка «Эта команда не может быть выполнена из-за ошибки: заглушка получила неверные данные».
$ScriptBlock = {
Param(
[datetime] $Start = '04/25/2020 19:52:25',
[datetime] $End = '04/25/2020 19:52:35',
[string] $OutputXMLPath = 'C:\DATA\Projects\EventLogsAnalyzer\DATA\ScriptBlockOutput.xml',
[string] $logFilePath = 'C:\DATA\Projects\EventLogsAnalyzer\LOGS\EventLogsAnalyzer.log'
)
$ScriptBlock = {
Param(
[datetime] $Start = '04/25/2020 19:52:25',
[datetime] $End = '04/25/2020 19:52:35',
[string] $OutputXMLPath = 'C:\DATA\Projects\EventLogsAnalyzer\DATA\ScriptBlockOutput.xml'
)
$Logs = Get-WinEvent -ListLog *
$Res = @()
Foreach($Log in $Logs) {
$Log.LogName
$Filter = @{
LogName = $Log.LogName
StartTime = $Start
EndTime = $End
}
$Res += Get-WinEvent -FilterHashTable $Filter -ErrorAction SilentlyContinue
}
}
$Res = Start-Process -FilePath "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PassThru -Verb "RunAs" -ArgumentList " -NoExit -ExecutionPolicy Bypass –NoProfile -Command & { $ScriptBlock }"
$Res
}
$User = Get-VarFromAESFile $Global:GlobalKey1 $Global:APP_SCRIPT_ADMIN_Login
$Pass = Get-VarFromAESFile $Global:GlobalKey1 $Global:APP_SCRIPT_ADMIN_Pass
$Credentials = New-Object System.Management.Automation.PSCredential -ArgumentList (Get-VarToString $User), $Pass
Start-Process -FilePath "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PassThru -Credential $Credentials -ArgumentList " -NoExit -ExecutionPolicy Bypass –NoProfile -Command & { $ScriptBlock }"```