Я знаю, что вы можете использовать Get-Command, чтобы проверить, существует ли командлет. Однако предположим, что у вас есть сотни командлетов, которые вы будете проверять, существуют ли они. В рамках этой проверки существования, если командлет существует, он выполняется (в приведенном ниже примере вызовите командлет и просто экспортируйте результаты в csv). Если командлет не существует, сообщение пишется через Write-Host. Пример приведен ниже.
if (Get-Command "Get-HostedOutboundSpamFilterPolicy" -errorAction SilentlyContinue)
{
Get-HostedOutboundSpamFilterPolicy | Export-Csv "C:\HostedOutboundSpamFilterPolicy.csv" -NoTypeInformation
}
else
{
Write-Host "Get-HostedOutboundSpamFilterPolicy Not Found"
}
Можно ли написать это более эффективно, чтобы избежать уродливого / длинного if / else?