Thỏa thuận với các tham số chuyển đổi lệnh Powershell yêu cầu dấu hai chấm là gì?Powershell: Colon trong tham số commandlet
Xem xét lệnh ghép ngắn quản lý Exchange 2010 Move-ActiveMailboxDatabase. Việc chuyển đổi Confirm là một System.Management.Automation.SwitchParameter
và phải được sử dụng như vậy,
Move-ActiveMailboxDatabase -Confirm:$false
Nếu không có đại tràng lệnh thất bại trong việc nhận ra không xác nhận chuyển đổi như vậy,
Move-ActiveMailboxDatabase -Confirm $false
Tại sao vậy? Sự khác biệt của ruột kết là gì? Tại sao Exchange2010 có vẻ là điều duy nhất tôi nhận thấy hành vi này?
Tôi đã duyệt qua Powershell trong Action và Powershell 2.0, nhưng không tìm thấy bất kỳ điều gì về cú pháp này. Phạm vi độ phân giải và sử dụng truy cập đối tượng .Net được ghi lại trên những cuốn sách mặc dù.
Google-fu của tôi tìm thấy một số article tuyên bố rằng nó chuyển tiếp rõ ràng giá trị thông số chuyển đổi, nhưng không giải thích được ý nghĩa của nó.
Không phải câu trả lời đầy đủ - Tôi không biết về ví dụ Hộp thư, nhưng trong nhiều trường hợp khác (ví dụ: 'Set-SMBServerConfiguration'), hiệu ứng' -Xác nhận: $ false' khác với sự vắng mặt của nó. Tôi có thể sử dụng '-Xác nhận: $ false' hoặc' -Force', nếu không tôi cần phải xác nhận. – Lamarth