Как игнорировать только одно из исключений? - PullRequest
0 голосов
/ 02 апреля 2019

Я использую следующую команду

Invoke-Command -Computer '$server' -ScriptBlock { Get-ChildItem -Path 'S:\DATA' | Where{$_.Name -Match "AFF"} | Remove-Item -confirm:$false -Recurse }

приводит к следующей ошибке (ям)

Попытка выполнить операцию InitializeDefaultDrives на провайдере FileSystem не удалась. Невозможно удалить элемент S: \ DATA \ AFF.0.db \ metadata.sqlitedb: процесс не может получить доступ к файлу metadata.sqlitedb, потому что он используется другой процесс.

И на компьютере, с которого я запускаю эту команду, и на удаленном сервере, с которым я запускаю эту команду, есть отключенный общий диск, который мы используем для хранения общих ресурсов по всей организации.

После некоторых исследований я понял, что эта ошибка возникает из-за отключенного диска, как правило.

технически наш привод находится в "отключенном" состоянии ... но он все еще может использоваться. не уверен, если честно, почему его отключенное состояние

N

Могу ли я игнорировать первую ошибку

Попытка выполнить операцию InitializeDefaultDrives на поставщике FileSystem не удалась.

всегда, потому что диск всегда будет отображаться как отключенный, поэтому я просто хочу отобразить РЕАЛЬНУЮ ошибку, о которой я бы позаботился:

Невозможно удалить элемент S: \ DATA \ AFF.0.db \ metadata.sqlitedb: процесс не может получить доступ к файлу metadata.sqlitedb, потому что он используется другой процесс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...