В настоящее время я пишу сценарий PowerShell для аудита и принятия мер по устаревшим объектам компьютера в нашей структуре AD. Стараясь быть хорошим сценаристом, я внедряю помощь на основе комментариев. Это работает, но я пытаюсь использовать синтаксис, где вы комментируете свои параметры, и они автоматически отображаются в разделе .PARAMETERS
справки.
Я не хочу использовать отдельный раздел .PARAMETERS
в надлежащем коде комментария справки на основе комментариев, если я могу избежать этого, чтобы комментарии оставались с параметрами физически. Но если нет способа избежать моей проблемы, то, наверное, мне придется.
Проблема в том, что некоторые из моих параметров используют валидацию, и я прокомментировал биты кода валидации. Тем не менее, справка на основе комментариев включает в себя все эти разные. комментарии, и я бы предпочел, чтобы этого не произошло, поскольку он загромождает вывод get-help и не добавляет туда никакого значения.
Вот выдержка из кода:
function audit-StaleADComputersInOU {
<#
.SYNOPSIS
Exports a list of AD Computer objects to the screen, and optionally to a CSV formatted file.
Optionally take other actions on returned objects.
Results are from one or more given OU DNs, and filtered by LastLogonTimeStamp.
.OTHER COMMENT-BASED HELP SECTIONS
etc. etc., not including .PARAMETERS
#>
[CmdletBinding(SupportsShouldProcess=$true)]
param(
# Specify the full filepath to a file.
# Results will be exported in CSV format to that file.
# Parent directory must exist.
# Omit to export nothing and create no file.
[ValidateScript({
# Parent directory
$path = Split-Path -Path $_
# Check parent directory exists
if(!(Test-Path $path)) {
throw "$path directory doesn't exist!"
}
# Check parent directory is actually a directory
if(!(Test-Path $path -PathType Container)) {
throw "$path is not a directory!"
}
# Check file doesn't already exist
if(Test-Path $_){
throw "$_ already exists!"
}
return $true
})]
[System.IO.FileInfo]
$ExportToCSV,
# Other params, etc.
)
# Doing stuff
}
А вот соответствующий вывод для Get-Help audit-StaleADComputersInOU -full
:
NAME
audit-StaleADComputersInOU
SYNOPSIS
Exports a list of AD Computer objects to the screen, and optionally to a CSV formatted file.
Optionally take other actions on returned objects.
Results are from one or more given OU DNs, and filtered by LastLogonTimeStamp.
.OTHER COMMENT-BASED HELP SECTIONS
etc. etc., not including .PARAMETERS
PARAMETERS
-ExportToCSV <FileInfo>
Specify the full filepath to a file.
Results will be exported in CSV format to that file.
Parent directory must exist.
Omit to export nothing and create no file.
Parent directory
Check parent directory exists
Check parent directory is actually a directory
Check file doesn't already exist
Required? false
Position? 3
Default value
Accept pipeline input? false
Accept wildcard characters? false
-OtherParams [<SwitchParameter>]
etc.
Есть ли способ избежать этого? Любой синтаксис комментариев, который я могу использовать, чтобы сделать определенные комментарии невидимыми для справки на основе комментариев? Или мой единственный вариант извлечь комментарии, которые я хочу видеть, в секции .PARAMETERS
синтаксиса справки на основе комментариев в верхней части скрипта?