Хорошо, у меня есть сценарий PSH, который делает следующие вещи:PowerShell и UAC в Windows Vista
- создает текстовый файл под пользователем/AppData/локальный каталог
- Создает запланированное задание с SchTasks команда
- Запускает ионообменную (New-Object Net.WebClient) .DownloadString: команда ('HTTPS \ BlahBlah.com')
- Создает файл VBS в папке system32
В Windows 7 и 8 он отлично работает.
В Windows Vista шаги 1, 2 и 3 работают, но 4 с ошибкой неавторизованного доступа. Я попытался изменить его так, чтобы он создавал только файл txt вместо VBS (чтобы увидеть, был ли исполняемый файл проблемой), но я получаю ту же ошибку.
Это, конечно, ОАК. Но я не знаю, как обойти это. Скрипт PSH требует одобрения пользователя для запуска в первую очередь и не имеет проблем с внесением всех других изменений, за исключением одной вещи.
Есть ли какая-либо команда обхода, которую я могу добавить, чтобы обойти UAC?
Вот что я получаю при отладке из Powershell ISE:
PS C:\Users\Caitlin> New-Item $env:SystemRoot\System32\Initialize.txt -type file -force
New-Item : Access to the path 'C:\Windows\System32\Initialize.txt' is denied.
At line:1 char:9
+ New-Item <<<< $env:SystemRoot\System32\Initialize.txt -type file -force
+ CategoryInfo : PermissionDenied: (C:\Windows\System32\Initialize.txt:String) [New-Item], UnauthorizedAccessException
+ FullyQualifiedErrorId : NewItemUnauthorizedAccessError,Microsoft.PowerShell.Commands.NewItemCommand
Я хочу, чтобы это было относительно автоматизирован, потому что я буду делиться с другими людьми за пределами своей сети.
Я думаю, что простое решение состоит в том, чтобы просто создать его в другом каталоге, но я бы предпочел, чтобы он выполнял то же, что и в Windows 7/8.