Назад | Перейти на главную страницу

Пакетный файл / файл Powershell не запускается через планировщик задач во время выхода из системы

Мне не удается запустить файл Powershell из расписания задач во время выхода из системы. Короче говоря, я пытаюсь загрузить свой NTUSER.DAT (перемещаемый профиль) в папку моих профилей на файловом сервере. Динамическое переключение VLAN не поддерживает перемещаемые профили, поэтому мне нужно использовать сценарий для решения этой проблемы. Мой сценарий выглядит следующим образом:

start-sleep -s 15

Set-Content -Path "C:\Temp\log.txt" -Value "Hello World"

$FileServer = 10.10.5.5
$FQDN = "$Env:UserDomain"
$User = Get-WmiObject -Class Win32_NetworkLoginProfile | Sort-Object -Property LastLogon -Descending | Select-Object -Property * -First 1 | Where-Object {$_.LastLogon -match "(\d{14})"} | Foreach-Object { New-Object PSObject -Property @{ Name=$_.Name.TrimStart("$FQDN\") }} | Select -ExpandProperty Name


copy-item -path  C:\Users\$User\NTUSER.DAT -destination \\$FileServer\Profiles$\$user.V2\ -force
copy-item -path  C:\Users\$User\NTUSER.DAT -destination \\$FileServer\Profiles$\$user.V3\ -force

У меня есть расписание задач для запуска от имени администратора домена при возникновении события с кодом 4647 (выход из системы). Он настроен на запуск с установленными высшими привилегиями, также я включил запуск, когда пользователь вошел в систему или нет. Учетная запись администратора домена также имеет доступ ко всем файлам как в источнике, так и в месте назначения. Set-ExecutionPolicy установлено на неограниченное. Я вызываю сценарий PowerShell в планировщике задач следующим образом:

Action: Start a program
Program/Script: C:\temp\launch.bat

Launch.bat содержит следующее:

Powershell.exe -executionpolicy unrestricted -File "CALL C:\temp\powershell.ps1"

Задача запускается каждый раз, когда пользователь выходит из системы, я подтвердил это в журналах. Но файл NTUSER.DAT не может быть скопирован в сеть, на самом деле файл log.txt даже не создается. Я подтвердил, что мой код работает, это просто часть планировщика задач, вызывающая код, где, как мне кажется, он не работает. Можете ли вы указать мне правильное направление? Я знаю, что близок, но не уверен, что мне не хватает.