2016-05-07 2 views
2

Я хочу, чтобы мой сценарий был отменен (Ctrl + C или иначе), чтобы отключить любые сеансы или сопоставленные диски, которые все еще могут быть открыты.Отключить сеансы и карты

У нас есть большая клиентская база, и я не могу открывать сеансы powershell на целевом сервере.

Есть ли у кого-нибудь идеи о том, как это можно сделать.

ответ

0

Используйте Try ... Catch ... Finally block для запуска кода очистки:

try { 
    # Your code 
} catch { 
    Write-Error "Something went wrong: $($_.Exception.Message)" 
    # Additional error handling here 
} finally { 
    # Cleanup Code 
} 

Важно отметить, что если вы поставите какой-либо вывод в вашем наконец, блок не будет отображаться, если Ctrl - C как эта клавиатура остановка трубопровода:

Обратите внимание, что нажатие CTRL + C останавливает трубопровод. Объекты, которые отправляются в конвейер, не будут отображаться как выходные данные. Поэтому, если вы включаете оператор, который будет отображаться, например «Завершить работу блока», он не будет отображаться после нажатия клавиши CTRL + C, даже если бежал блок finally.

Смежные вопросы