Этот сценарий предназначен для повторной обработки через ряд каталогов, и когда выбрана ошибка типа DirUnauthorizedAccessError,Microsoft
или PowerShell.Commands.GetChildItemCommand
, она должна вызвать другую функцию Take-Ownership
, которая переходит в собственность каталога и добавляет полные разрешения для локального администратора и администратора домена в папку , (Это на самом деле скрипт, используемый для облегчения удаления старых профилей пользователей):Почему не возникает ошибка при запуске этой функции в качестве администратора домена?
function Test-Folder($FolderToTest, $localAdminName) {
# Remeber the old error preference...
$old_ErrorActionPreference = $ErrorActionPreference
$ErrorActionPreference = 'SilentlyContinue'
$error.Clear()
# Go through the directories...and capture errors in $error
Get-ChildItem $FolderToTest -Recurse -ErrorAction SilentlyContinue -ErrorVariable errz | Select FullName
Write-Host $errz.count
if ($errz.Count -eq 0) {
Write-Host "blah no errors"
foreach ($err in $errz) {
Write-Host "Error: $err"
if ($err.FullyQualifiedErrorId -eq "DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand") {
Write-Host Unable to access $err.TargetObject -Fore Red
Write-Host Attempting to take ownership of $err.TargetObject -Fore Yellow
Take-Ownership -Folder $err.TargetObject, -LocalAdminName $localAdminName
Test-Folder -FolderToTest $err.TargetObject -localAdminName $localAdminName
}
}
}
$ErrorActionPreference = $old_ErrorActionPreference
}
К сожалению, он не бросает какие-либо ошибки, когда я запустить его в качестве администратора домена. Я нашел список ErrorActionPreferences here, но ошибки просто проигнорированы, и он выводит blah no errors
Что я могу сделать, чтобы удостовериться, что получаю ошибки и что моя функция Take-Ownership
действительно называется?
Если я не могу получить здесь ответ, переведите его в файл stackexchange. – leeand00