Đổi tên tệp bằng chương trình bó trong Vista / 7. Vấn đề với quyền truy cập của quản trị viên


0

Tôi có một tệp bó đổi tên một tệp trong một thư mục bằng cách sử dụng:

rename filename.exe filename.bac

Điều này hoạt động tốt trong Win XP. Nhưng trong Vista / 7, nếu tệp bó được chạy trong Tệp chương trình / nó không đổi tên tệp trừ khi tôi chạy nó với tư cách quản trị viên. Có cách nào để bỏ qua UAC và sử dụng cái này mà không cần phải chạy nó với tư cách quản trị viên không?

cảm ơn.

Câu trả lời:


1

Nếu bạn từng làm việc với linux, bạn sẽ lưu ý rằng ngay cả khi bạn là quản trị viên, bạn không được làm mọi thứ bạn muốn mà không cần nâng cao. Khái niệm tương tự áp dụng cho UAC. Ngay cả khi bạn đăng nhập với tư cách quản trị viên, bạn vẫn chạy với đặc quyền người dùng chuẩn theo mặc định. Vì vậy, không, bạn không thể thay đổi các tệp hệ thống (như thư mục tệp chương trình) - đó chính xác là những gì UAC đang có để ngăn chặn.

Bạn có thể vô hiệu hóa uac nếu bạn thực sự muốn, nhưng đây là một rủi ro bảo mật tiềm ẩn.


Vì vậy, bạn đang nói với tôi rằng không có cách nào để chạy đổi tên tệp mà không phải chạy nó dưới Quản trị viên?

2
Cần lưu ý rằng việc vô hiệu hóa UAC không được khuyến khích vì những lý do rõ ràng.
Joey

1
Có, bạn phải chạy nó với tư cách quản trị viên nếu bạn muốn thay đổi mọi thứ program files. Đó là điểm của UAC - nó ngăn những người không phải quản trị viên thực hiện thay đổi đối với các tệp chương trình.
nhinkle

1

Sửa đổi thư mục và tệp trong program filesthư mục yêu cầu độ cao, ngay cả khi bạn đăng nhập với tư cách quản trị viên. Có một vài giải pháp tiềm năng cho vấn đề của bạn:

  • Luôn nâng tập tin bó khi bạn chạy nó. Nếu nó đang được sử dụng như một tác vụ theo lịch trình, bạn có thể chọn hộp cho Run this task with highest privileges.

  • Sử dụng tập lệnh powertoy Windows Vista / 7 để nâng cao lệnh đó

  • Thay đổi các quyền trong thư mục con cụ thể đó program filesđể cho phép người dùng bình thường đổi tên tệp

    Để thực hiện việc này, hãy chuyển đến thư mục chứa tệp bạn sẽ đổi tên. Nhấp chuột phải vào thư mục và nhấp vào Properties. Chuyển đến tab bảo mật. Nhấn advancedvà sau đó Change Permissions. Nhấp Addvà chọn tài khoản sẽ chạy tệp bó. Cấp cho tài khoản đó các quyền cần thiết - có thể create filesdelete filesở mức tối thiểu. Sau đó bấm vào OKnhiều lần bạn cần phải loại bỏ tất cả các hộp thoại. Tài khoản được chỉ định bây giờ sẽ có thể sửa đổi các tệp trong thư mục đó mà không cần phải nâng lên.

  • Vô hiệu hóa uac. Điều này không được khuyến khích , vì nó khiến hệ thống của bạn dễ bị tổn thương


0

Hãy nhìn vào công cụ nâng cao

http://technet.microsoft.com/en-us/magazine/2007.06.utilityspotlight.aspx

Tôi đã sử dụng công cụ này để chạy các tệp bó khác nhau thường yêu cầu chạy trong lời nhắc của quản trị viên. Hóa ra nếu bạn chuyển động từ "runas" cho API ShellExecute hoặc tương đương COM của nó, phương thức ShellExecute của Shell.Application, ứng dụng được khởi chạy sẽ nhắc nâng cao Công cụ này (bao gồm các tệp ElevateCommand.inf, elevate.cmd và elevate.vbs) thêm lệnh nâng cao vào hệ thống của bạn. Điều này cho phép bạn khởi chạy các ứng dụng nhắc độ cao từ dòng lệnh, tập lệnh hoặc hộp thoại Run. Ví dụ: lệnh sau sẽ mở Win.ini bằng Notepad (sau khi nhắc về độ cao):

elevate notepad c:\Windows\Win.ini

Khi sử dụng lệnh nâng cao với Windows Script Host (WSH), Windows PowerShell ™ hoặc các tập lệnh khác, bạn cần chỉ định thực thi máy chủ tập lệnh (như wscript, cscript hoặc powershell) làm ứng dụng. Ví dụ, để chạy vbs, bạn sẽ sử dụng điều này:

elevate wscript “C:\windows\system32\slmgr.vbs” –dli

Các văn bản trợ giúp giải thích điều này. Sử dụng độ cao với -? hoặc không có tham số để xem văn bản trợ giúp.

Điều khó chịu tiếp theo là không có tùy chọn menu ngữ cảnh "Chạy với tư cách quản trị viên" (khi bạn nhấp chuột phải vào tệp trong Explorer) cho hầu hết các loại tập lệnh Windows. Một ngoại lệ là các tập lệnh shell lệnh (những tập lệnh có phần mở rộng tập tin .bat và .cmd). Vì vậy, tôi đặt ra để điều tra này. Nhiều tùy chọn menu ngữ cảnh cho các loại tệp được điều khiển thông qua các phím lệnh cho loại "đối tượng" trong phần HKEY_CLASSES_ROOT của Sổ đăng ký (xem Động từ và Liên kết tệp trong thanh bên để biết chi tiết). Nó chỉ ra rằng nếu khóa lệnh đó được đặt tên là runas, lệnh được gọi sẽ nhắc về độ cao.

Nâng cao ứng dụng HTML PowerToy (ElevateHTA.inf)

Nâng cao Windows PowerShell Script PowerToy (ElevatePowerShellScript.inf)

Nâng cao WSH Script PowerToy (ElevateWSHScript.inf, elevate.cmd, elevate.vbs)

Các PowerToys này thêm một mục nhập menu ngữ cảnh Run as Administrator Explorer cho các loại tệp HTAs, Windows PowerShell và Windows Script Host tương ứng. ElevateWSHScript.inf cũng thêm một mục Run as Administrator với mục nhập menu Prompt Command. (Vui lòng đọc ghi chú trong ElevatePowerShellScript.inf trước khi cài đặt nó.)

Đảm bảo trích xuất đồ chơi năng lượng vào c: \ Windows \ System32 hoặc nếu bạn đặt công cụ ở nơi khác, hãy thêm thư mục vào biến $ PATH để bạn có thể gọi nó bên trong các tập lệnh bó một cách dễ dàng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.