Итак, у меня есть скрипт, который я написал для получения информации о области действия от DHCP. Он отлично работает, рисуя информацию в окне PowerShell. Я могу направить Out-GridView или Export-ToCSV в процесс, но я пытался найти способ, которым, когда кто-то использует эти функции, он может выбрать любую из них, используя параметр в функции.
Пример: Get-ScopeByDescription -Description "Site" -Property "Имя хоста" -ToCSV или -ToGridView
Function Get-ScopeByDescription
{
[cmdletBinding()]
Param
(
[Parameter(Mandatory,ValueFromPipelineByPropertyName)]
[ValidateNotNullOrEmpty()]
[String] $Description,
[Parameter(ValueFromPipelineByPropertyName)]
[ValidateSet('IPAddress','Hostname','ClientID']
[String] $Property = 'Hostname'
###This is where I'm looking to add functionality of Export-ToCSV and Out-GridView as a Parameter.
)
Begin
{
Write-Warning "This process will take a minute. Ctrl+C to cancel."
}
Process
{
$ScopeDesc = Get-DhcpServerv4Scope -ComputerName DHCPsvr |
Where-Object -Property Description -Like *"$Description"*
$ScopeDesc | Get-DhcpServerv4Lease -ComputerName DHCPsvr -AllLeases |
Select IPAddress, Hostname, ClientID, LeaseExpiryTime, AddressState, ScopeID |
Sort-Object -Property $Property
}
Этот сценарий предназначен для сброса DHCP область от сервера по описанию, что является более простым для поиска / запоминания параметром для тех, кто использует это для запоминания.