2009-04-23 35 views
13

$ args chỉ trả lại đối số tùy chọn. Làm thế nào tôi có thể nhận được tất cả các thông số chức năng?

+0

Bạn có thể sử dụng powershell V2 không? – zdan

+0

Chính xác thì bạn đang cố gắng làm gì? – JasonMArcher

Trả lời

16

$ args trả về bất kỳ thông số không được khai báo, không phải thông số tùy chọn. Vì vậy, chỉ cần không khai báo các tham số.

Trong PowerShell v2, bạn có thể sử dụng $ PSBoundParameters để lấy tất cả các tham số theo cách có cấu trúc.

17

$ PSBoundParameters mang đến cho bạn tất cả các tham số "bị ràng buộc" cùng với các giá trị bị ràng buộc trong một hashtable, nó không giúp bạn có được các đối số tùy chọn/bổ sung. Đó là những gì $ args là cho. AFAICT cách duy nhất để có được những gì bạn muốn là kết hợp cả hai:

$allArgs = $PsBoundParameters.Values + $args 
Các vấn đề liên quan