Как получить PS скрипт для доступа к папкам, которым нужен доступ администратора - PullRequest
0 голосов
/ 21 июня 2019

Я являюсь техподдержкой для своей компании, и у нас часто бывает много повторяющихся проблем, таких как очистка временных файлов и кэша из C \ windows \ temp, локальной папки appdata, а также Google и IE кеш / куки. Я писал сценарий powershell, чтобы сделать все это за один раз, и он делает то, что должен. Единственная проблема заключается в том, что когда я нахожусь на компьютере пользователя, мне нужно сначала получить доступ к временным папкам Windows и локальным папкам appdata, а затем запустить скрипт, чтобы он заработал. Я считаю, что это потому, что эти две папки требуют доступа администратора. Так как я администратор, я могу поставить свои кредиты, чтобы получить доступ к папкам, но у меня возникли проблемы с поиском кода для вставки, чтобы позволить сценарию powershell получить доступ к этим папкам. Примечание: у меня есть команда в начале скрипта, которая запускает powershell от имени администратора, но этого недостаточно. Мой код ниже, любое понимание этого было бы потрясающим. (Похоже, хэштеги моего комментария в коде превратили комментарии в жирный, извинения)

# Runs the below script with PowerShell in Admin mode
Start-Process "$psHome\powershell.exe" -verb runas -ArgumentList "-file fullpathofthescript"

# Clears google chrome cache
Remove-Item -Path "C:\Users\*\AppData\Local\Google\Chrome\User Data\Default\Cache\*" -verb runas -Recurse -Force -ErrorAction SilentlyContinue

# Clears IE cookies
Remove-Item -Path "C:\Users\*\AppData\Roaming\Microsoft\Windows\Cookies\*" -verb runas -Recurse -Force -ErrorAction SilentlyContinue

# Clears the "windows\temp" folder
Remove-Item -Path "C:\Windows\Temp\*" -verb runas -Recurse -Force -ErrorAction SilentlyContinue

# Clears the user's local temp folder
Remove-Item -Path "C:\Users\*\AppData\Local\Temp\*" -verb runas -Recurse -Force -ErrorAction SilentlyContinue"

1 Ответ

0 голосов
/ 21 июня 2019

Вы можете использовать параметр -Credential, чтобы запросить учетные данные локального администратора, которые должны позволять вам удалять в расположении C:\Windows\*, предполагая, что ACL не были испорчены.

Remove-Item -Path "C:\Windows\Temp\*" -Credential (Get-Credential) -Recurse -Force -ErrorAction SilentlyContinue

Если вы введете ErrorAction, вы также не увидите следующую ошибку.

Remove-Item : A positional parameter cannot be found that accepts argument 'runas'.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...