2013-04-19 44 views
9

stack này   Overflow câu hỏi gợi ý một lệnh mà trông như thể nó sẽ làm việc, nhưng nó không (câu trả lời đó sẽ bị xóa bây giờ, mặc dù):Làm thế nào để hoàn thành lệnh runas trong một dòng

Single line command for Run as a different user on Window 7 that contains a password also

Các lệnh sẽ là:

echo PaSsWoRd | runas /user:Administrator cmd 

Tuy nhiên nó nói:

tên người dùng hoặc mật khẩu không xác định không xác định.

Chi tiết chắc chắn là chính xác. Ví dụ, nếu tôi là để chạy:

runas /user:Administrator 

... và trên dòng tiếp theo, nếu tôi gõ vào PaSsWoRd, nó sẽ làm việc không có vấn đề.

+0

Làm thế nào về 'runas/user: Administrator“ cmd ”<“ C: \ pass.txt ”' – Todd

Trả lời

15

runas command does not allow a password on its command line. Điều này là do thiết kế (và cũng là lý do bạn không thể đặt mật khẩu cho nó làm đầu vào). Raymond Chen nói nó độc đáo:

Chương trình RunAs yêu cầu bạn nhập mật khẩu theo cách thủ công. Tại sao nó không chấp nhận một mật khẩu trên dòng lệnh?

Đây là một quyết định có ý thức. Nếu có thể truyền mật khẩu trên dòng lệnh, mọi người sẽ bắt đầu nhúng mật khẩu vào các tập tin theo lô và các kịch bản đăng nhập, điều này không an toàn.

Nói cách khác, tính năng này bị thiếu để loại bỏ sự cám dỗ khi sử dụng tính năng không an toàn.

Bill

+1

Đó là hoàn toàn đánh bại. Đó là một thực sự mệt mỏi mà ý tưởng về "bảo mật" được gọi bởi các nhà thiết kế phần mềm đang cố gắng thông minh hơn người dùng. Nếu người dùng muốn nhúng mật khẩu, thì đó là đặc quyền của họ. Thay vào đó tất cả chúng ta đi qua liên kết này sẽ đi và tìm kiếm các cách khác để sử dụng tương đương SUDO trong các cửa sổ thông qua các phương tiện không mong muốn khác, uốn cong các quy tắc và lãng phí thời gian. Thay vì có một tập tin batch dễ bị tổn thương, tôi sẽ gửi để giảm tổng thể bảo mật trên máy để có được "sudo" để làm việc. Thiết kế không bao giờ thông minh hơn người dùng. Bạn thất bại! –

+0

1) Tôi đã không đưa ra quyết định này, do đó, ranting về nó với tôi là vô nghĩa. 2) Microsoft chắc chắn đã đưa ra quyết định đúng đắn. Nhúng mật khẩu vào tập lệnh là một ý tưởng tồi tệ, vì lý do chính đã được nêu trong câu trả lời. –

+0

bạn có thể psexec từ microsys sysinternals ví dụ: psexec -user MyUser -p MyPassword "cmd" – user797717

0

Nếu nó đã chấp nhận đầu vào đường ống sau đó trong trường hợp này "password" của bạn sẽ có một không gian dấu.

Đó là điều cần xem.