Я случайно удалил 180 пользователей из своего AD, и их нельзя восстановить. Я воссоздал учетные записи в AD, а что нет. Это создает новый профиль на их ноутбуках, когда они входят в систему из-за нового SID. Я пытаюсь написать сценарий, который предоставляет им доступ к папке их старого профиля и создает ярлык на рабочем столе, ведущий туда.
У меня скрипт работает нормально с одной проблемой. Используемые переменные среды в конечном итоге ссылаются на учетную запись администратора, которая запускает сценарий. Сами пользователи не имеют права изменять безопасность своей старой папки. Мне нужно попытаться сделать так, чтобы переменные среды ссылались на пользователя, но при этом иметь привилегию учетной записи администратора для перезаписи разрешений.
Вот сценарий на данный момент. В данный момент я развертываю его с помощью Планировщика заданий, что является еще одной проблемой, поскольку я не совсем понимаю, что такое учетные данные. Я имею в виду, что в идеале задача должна выполняться от имени администратора домена, выполнять сценарий как можно скорее, и сценарий разрешает переменные среды для вошедшего в систему пользователя.
$permission = ":(OI)(CI)M"
$sam = $env:USERNAME
$folderName = "C:\Users\$($sam)"
Invoke-Expression -Command ( 'ICACLS $folderName /grant:r $sam$($permission) /t' )
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$Home\Desktop\Profile Backup.lnk")
$Shortcut.TargetPath = $folderName
$Shortcut.Save()
Меня беспокоят переменные $env:USERNAME и $home.
Или есть другой способ, которым я должен решать эту проблему?