Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

westlife



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

А я что ни подставлял, все работало. Вот первая создает что делать, вторая  запускать с помощью нее первую созданную, это для теста.
не понял зачем тут $NestedCommand, он ни где не объявляется с $PSCmdlet.ShouldProcess , и без этого все работает.

Код:
 
 
 
function Register-NewScheduledTaskWorkaround1  
{
  [CmdletBinding(SupportsShouldProcess)]  
  param(
 
    [Parameter(Mandatory,ValueFromPipelineByPropertyName)]
    $Taskname,
    [Parameter(Mandatory,ValueFromPipelineByPropertyName)]
    $Taskpath,
    [Parameter(ValueFromPipelineByPropertyName)]    
    $SystemLocalisedName = 'SYSTEM'
  )
 
  $otherNewtaskParam = @{
    Trigger   = &{
      New-ScheduledTaskTrigger -AtLogOn
    }
    Principal = &{
      New-ScheduledTaskPrincipal -UserId $SystemLocalisedName -LogonType serviceaccount
    }
    Settings  = &{
      New-ScheduledTaskSettingsSet
    }
  }
 
  'Enable', 'Disable' | ForEach-Object -Process {
 
    $StringToExecute = '{0}-ScheduledTask -taskname {1} -taskpath {2}' -f $_, $Taskname, $Taskpath
 
    $Action = New-ScheduledTaskAction -Execute 'powershell.exe'`
     -Argument " -Command cmd.exe /c echo. 'hellow' >> 'd:\2 2.txt'"
   
    if ($PSCmdlet.ShouldProcess("$NestedCommand", "Creating new task with $SystemLocalisedName rights")) {  
      New-ScheduledTask -Action $Action @otherNewtaskParam | Register-ScheduledTask -TaskName "$($_)_$($Taskname)" -Force
    }
  }
}  
 
Register-NewScheduledTaskWorkaround1  -taskname 1111 -Taskpath '\'
 
 
function Register-NewScheduledTaskWorkaround2  
{
  [CmdletBinding(SupportsShouldProcess)]  
  param(
 
    [Parameter(Mandatory,ValueFromPipelineByPropertyName)]
    $Taskname,
    [Parameter(Mandatory,ValueFromPipelineByPropertyName)]
    $Taskpath,
    [Parameter(ValueFromPipelineByPropertyName)]    
    $SystemLocalisedName = 'SYSTEM'
  )
 
  $otherNewtaskParam = @{
    Trigger   = &{
      New-ScheduledTaskTrigger -AtLogOn
    }
    Principal = &{
      New-ScheduledTaskPrincipal -UserId $SystemLocalisedName -LogonType serviceaccount
    }
    Settings  = &{
      New-ScheduledTaskSettingsSet
    }
  }
 
  'Enable', 'Disable' | ForEach-Object -Process {
 
    $StringToExecute = '{0}-ScheduledTask -taskname {1} -taskpath {2}' -f $_, $Taskname, $Taskpath
 
    $Action = New-ScheduledTaskAction -Execute 'powershell.exe'`
     -Argument " -Command Start-ScheduledTask -TaskName 'Enable_1111' -TaskPath '\'"
   
    if ($PSCmdlet.ShouldProcess("$NestedCommand", "Creating new task with $SystemLocalisedName rights")) {  
      New-ScheduledTask -Action $Action @otherNewtaskParam | Register-ScheduledTask -TaskName "$($_)_$($Taskname)" -Force
    }
  }
}  
 
Register-NewScheduledTaskWorkaround2  -taskname 2222 -Taskpath '\'
 

Всего записей: 1390 | Зарегистр. 12-12-2006 | Отправлено: 00:02 23-10-2018
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru