Лучший отвечающий
Как пропустить ошибки при удалении атрибутов из УЗ AD PowerShell

Вопрос
-
Здравствуйте.
Пишу скрипт на PS для автоматизации увольнения сотрудников.
Есть один блок с удалением некоторых атрибутов из УЗ AD. Но к сожалению не у всех УЗ есть этот атрибут. И когда его нет валит ошибки что ключ remove не работает со значением null.
Set-ADUser 1 -Remove @{ параметр=переменная ….} -ErrorAction SilentlyContinue -WarningAction SilentlyContinue
Set-ADUser : Cannot validate argument on parameter 'Remove'. The argument is null or an element of the argument collection contains a null value.
Параметры -ErrorAction SilentlyContinue -WarningAction SilentlyContinue
не помогают. Как это провернуть, через if?
- Изменено Александр.Дмитриевич 13 октября 2022 г. 12:21
13 октября 2022 г. 12:20
Ответы
-
Используйте Try {} Catch {}
Что-то типа:
Try { Set-ADUser 1 -Remove @{ параметр=переменная ….} } Catch { # --- сюда пишем что хотим при срабатывании, либо просто оставляем пустые скобки }
Удачи!
- Помечено в качестве ответа Александр.Дмитриевич 14 октября 2022 г. 9:33
14 октября 2022 г. 6:18
Все ответы
-
Используйте Try {} Catch {}
Что-то типа:
Try { Set-ADUser 1 -Remove @{ параметр=переменная ….} } Catch { # --- сюда пишем что хотим при срабатывании, либо просто оставляем пустые скобки }
Удачи!
- Помечено в качестве ответа Александр.Дмитриевич 14 октября 2022 г. 9:33
14 октября 2022 г. 6:18 -
Спасибо.
Сделал через if else
if ( переменная = 'Null' )
{
Write-Output "Действий не требуется"
}
else
{
Set-ADUser 1 -Remove @{ параметр=переменная... }}
Не знаю на сколько мой вариант грамотен, но он работает. Сейчас попробую ваш вариант.
14 октября 2022 г. 7:47 -
Ваш вариант мне показался даже более простым, остаил его.
Ещё раз спаибо.
14 октября 2022 г. 9:32