2009-08-12 70 views
8

Chúng tôi có một ứng dụng lập trình ánh xạ các ổ đĩa mạng. Trên Vista với UAC, chúng tôi gặp một số vấn đề lạ.Vista UAC - Sự cố khi ánh xạ ổ đĩa mạng

Ứng dụng của chúng tôi ánh xạ ổ đĩa không nâng lên, vì vậy nếu người dùng duyệt thám hiểm và nhấp đúp để chạy exe, nó sẽ nhắc UAC. Vì vậy, khi họ chấp nhận nó, nó sẽ nhắc nhập tên người dùng/mật khẩu để chia sẻ ... Lạ vì các thông tin đăng nhập được lưu.

Hóa ra, quy trình nâng cao không thể truy cập vào một ổ đĩa được ánh xạ đã được ánh xạ từ một quy trình không được nâng cấp.

Để xem vấn đề này trong hành động, thực hiện các bước sau:

  • Chạy cmd.exe không có UAC
  • Run "sử dụng net w: \ yourHostname \ yourShare/user: yourUser yourpassword/dai dẳng: yes "
  • Run as Administrator cmd.exe
  • Loại "w:", và thấy thông báo lỗi

Tại thời điểm này bạn có thể chạy đồng bằng" net sử dụng "và xem kết nối trên cmd nâng cao là Không có sẵn nhưng cmd không nâng cao khác nhìn thấy nó là OK.

Có ai biết giải pháp khắc phục sự cố này không? hoặc có thể là một cách để ánh xạ ổ đĩa mạng tới "Tất cả người dùng"?

+0

Câu hỏi này có thể thuộc về serverfault. –

+0

Không, đó là câu hỏi về lập trình - họ cần kế thừa các đặc quyền trên toàn bộ độ cao. Tôi không biết câu trả lời mặc dù :) – bdonlan

+0

Đây chắc chắn là một câu hỏi lập trình, chúng tôi sử dụng WNetAddConnection2 và WNetCancelConnection2 từ ứng dụng của chúng tôi, nhưng điều này tương tự như lệnh "sử dụng net". – jonathanpeppers

Trả lời

2

Kiểm tra liên kết này: Regedit Link

Họ mô tả một khóa registry cho phép người dùng cao để truy cập ổ đĩa ánh xạ và ngược lại. Điều này giải quyết tất cả các vấn đề của tôi và chính xác là những gì tôi đang tìm kiếm.

EDIT:

Các liên kết ban đầu là chết, nhưng đây là văn bản như sao chép từ ngày 24 tháng 1 2009 ảnh chụp tại www.archive.org:


Nếu bạn thấy rằng bạn không có quyền truy cập để ánh xạ ổ đĩa từ mã thông báo quản trị của bạn, hãy thử cách sau. Khi chạy với tư cách quản trị viên được bảo vệ, bạn có hai mã thông báo và phím này sẽ duy trì kết nối cho cả hai lần kích hoạt (đó là sự hiểu biết của tôi). Nó cũng có thể giúp giải quyết các vấn đề với tập lệnh Đăng nhập.

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System EnableLinkedConnections = (dword) 1

Ngoài ra sử dụng là "'Group Policy kịch bản có thể thất bại do User Account Control" phần của tài liệu này .

http://technet2.microsoft.com/WindowsVista/en/library/5ae8da2a-878e-48db-a3c1-4be6ac7cf7631033.mspx?mfr=true

tôi sẽ được đăng thêm thông tin về vấn đề này sớm.

+0

Điều này phải là cài đặt mặc định trong sổ đăng ký. Trừ khi nó đưa ra một cách để người dùng đặc quyền thấp truy cập vào các chia sẻ đặc quyền duy nhất, đó phải là một vấn đề được xử lý riêng. – Mordachai

+0

Giải pháp này được Microsoft đánh dấu là giải pháp không được hỗ trợ khiến hệ thống của bạn không an toàn. Sử dụng nó có nguy cơ của riêng bạn ... – Robert

+0

Tôi không chắc chắn làm thế nào cho phép một quá trình nâng cao để truy cập vào một chia sẻ mạng được tạo ra bởi một quá trình không nâng cao là không an toàn. Không phải là một quá trình nâng cao trong cánh cửa chưa? Tuy nhiên nó là một vấn đề kỳ lạ, tôi muốn sử dụng một workaround không được hỗ trợ để sửa chữa nó cho hầu hết mọi người. – jonathanpeppers

2

Đây là theo thiết kế.

Mặc dù tài khoản người dùng giống nhau, với phiên bản nâng cao có mã thông báo thành viên trong nhóm quản trị viên và đặc quyền bổ sung, mã thông báo được tạo độc lập và do đó có LUID khác nhau và xuất hiện hạt nhân. logons. Vì chúng từ các logons khác nhau, các ổ đĩa được ánh xạ không được chia sẻ giữa chúng.

http://blogs.msdn.com/cjacks/archive/2007/02/19/mapped-network-drives-with-uac-on-windows-vista.aspx thảo luận vấn đề này chi tiết hơn.

+0

Vì vậy, nếu một người dùng trên Vista bản đồ một ổ đĩa mạng, về cơ bản họ không thể chạy bất kỳ exe từ một ổ đĩa được ánh xạ? Nó sẽ chỉ hoạt động nếu cửa sổ của họ tài khoản tên người dùng/mật khẩu phù hợp với ổ đĩa được ánh xạ? Điều này có vẻ như một tình huống nghèo nàn "do thiết kế". – jonathanpeppers

+1

Mặc dù chúng có cùng tên người dùng, nhưng so với không nâng cao vẫn là những người dùng riêng biệt. Người dùng bình thường có thể ánh xạ ổ đĩa vào tài khoản người dùng quản trị không? Điều này có thể gây ra một DOS nếu một người dùng bình thường ngồi trên một bản đồ ổ đĩa hơn là một admin cần? Nó có thể gây ra một EOP nếu người dùng bình thường hướng ánh xạ ổ đĩa đến một số nơi mà quản trị viên không mong đợi và khiến chúng chạy một nhị phân khác? – Michael

+0

Tôi đang nói Microsoft triển khai điều này một cách kém. Nâng cao không phải là một người dùng khác trong bất kỳ hình thức hoặc thời trang nào, có vẻ như họ đã lấy một lối tắt theo ý kiến ​​của tôi. Không có cách giải quyết nào cho một tình huống như thế này không? – jonathanpeppers

Các vấn đề liên quan