2011-08-04 2 views
13

Tôi đang cố gắng để tạo ra một thư mục mới trên ổ đĩa mạng sử dụng một kịch bản PowerShell nhưng nó vẫn không ngừng khiến tôiPowershell New-Item: Làm thế nào để Chấp nhận Chứng nhận Tự động

"Xác nhận: Bạn có chắc bạn muốn thực hiện hành động này .... "

Có cách nào để ghi đè điều này để không hỏi tôi vì tôi đang chạy tập lệnh này từ giao diện web hay không.

Đây là cuộc gọi của tôi:

New-Item $rollbackDirectory -type Directory -Force 

Nó làm điều tương tự, có hoặc không có tham số -Force

Tôi cũng đã cố gắng định dạng này không có may mắn

New-Item -name $rollbackName -itemtype directory -path $rollbackdrive -Debug -Force 

Trả lời

16

-confirm chỉ cần được chỉ định khi bạn muốn lệnh ghép ngắn nhắc bạn xác nhận. Cho dù cmdlet của chính nó sẽ nhắc nhở để xác nhận hay không phụ thuộc vào nhà phát triển của cmdlet người có thể thiết lập một cao, trung bình, thấp cho lệnh ghép ngắn dựa trên hiệu ứng của nó. Dựa trên giá trị của $ConfirmPreference bạn sẽ nhận được xác nhận tự động cho một lệnh ghép ngắn. Giá trị mặc định cho $ConfirmPreference cao và mức đặt cho New-Item là trung bình. Vì vậy, nếu New-Item đang nhắc xác nhận, giá trị $ConfirmPreference phải được thay đổi thành trung bình hoặc thấp.

Thay đổi nó bằng cách sử $ConfirmPreference="high" hoặc thậm chí $ConfirmPreference="none" để làm New-Item không nhắc, hoặc giải pháp của bạn của -confirm:$false làm việc cũng bằng cách ghi đè các $ConfirmPreference.

Giải thích một cách hoàn hảo ở đây: http://blogs.msdn.com/b/powershell/archive/2006/12/15/confirmpreference.aspx

Hy vọng điều này xóa nó lên.

+1

Cảm ơn bạn đã liên kết. Đó chắc chắn là thông tin! –

9

tôi đã kết thúc thử tính năng này (mặc dù tôi đã đọc trên một bài đăng SO khác mà nó không chính xác):

New-Item $rollbackDirectory -type Directory -Force -Confirm:$false 

Và nó đã hoạt động! Hy vọng điều này sẽ giúp những người khác có cùng vấn đề với

+1

'-Xác nhận: $ false' là cách hoàn toàn hợp lệ để thực hiện việc này ở cấp cmdlet. Ngoài ra, hãy xem câu trả lời của tôi. – manojlds