iNNOKENTIY21
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: # !!Задача в планировщике создаётся без повышенных прав function test { & cleanmgr.exe Start-Sleep -Seconds 3 function MinimizeWindow { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] $Process ) $ShowWindowAsync = @{ Namespace = 'WinAPI' Name = 'Win32ShowWindowAsync' Language = 'CSharp' MemberDefinition = @' [DllImport("""user32.dll""")] public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); '@ } if (-not ("""WinAPI.Win32ShowWindowAsync""" -as [type])) { Add-Type @ShowWindowAsync } $MainWindowHandle = (Get-Process -Name $Process).MainWindowHandle [WinAPI.Win32ShowWindowAsync]::ShowWindowAsync($MainWindowHandle, 2) } MinimizeWindow -Process cleanmgr } $a = (Get-Command -Name test).ScriptBlock $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-noexit $a" $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 90 -At 9am $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME $Description = "test" $Parameters = @{ "TaskName" = "test" "Principal" = $Principal "Action" = $Action "Description" = $Description "Settings" = $Settings "Trigger" = $Trigger } Register-ScheduledTask @Parameters -Force |
|