Tham chiếu this liên kết, tôi đang cố giới thiệu chế độ tiết trong tập lệnh của mình.Powershell: Xác định công tắc Verbose trong hàm
Khi tôi có một hàm được định nghĩa như thế này -
function TestVerbose
{
param(
[switch]$verbose,
[Parameter(Mandatory = $True)]
$p1
)
if($verbose)
{
Write-Verbose "Verbose Mode"
}
}
Get-Help TestVerbose
tôi nhận được lỗi sau -
Get-Help : A parameter with the name 'Verbose' was defined multiple times for the command. At line:12 char:9 + Get-Help <<<< TestVerbose + CategoryInfo : MetadataError: (:) [Get-Help], MetadataException + FullyQualifiedErrorId : ParameterNameAlreadyExistsForCommand,Microsoft.PowerShell.Commands.GetHelpCommand
NHƯNG, nếu tôi xác định các chức năng như thế này [loại bỏ các thuộc tính bắt buộc tham số ], nó hoạt động tốt
function TestVerbose
{
param(
[switch]$verbose,
$p1
)
if($verbose)
{
Write-Verbose "Verbose Mode"
}
}
Get-Help TestVerbose
Bất kỳ i dea tại sao một hành vi như vậy? Tôi muốn giữ công tắc bắt buộc và muốn người dùng để thực hiện chức năng của mình như thế này -
TestVerbose -verbose
Cảm ơn! Không biết điều này. Có, tôi đang sử dụng V2. –
Tôi vẫn muốn có thể kiểm tra xem công tắc -Khoa có được kích hoạt hay không. Tôi tìm thấy câu trả lời của mình trong [câu hỏi này] (http://stackoverflow.com/questions/24446680/is-it-possible-to-check-if-verbose-argument-was-given-in-powershell). –