Computer >> Máy Tính >  >> Hệ thống >> máy chủ Windows

Làm thế nào để chạy CMD / Chương trình trong HỆ THỐNG (LocalSystem) trong Windows?

Để thực hiện một số tác vụ trong Windows, chỉ cần có đặc quyền của quản trị viên là chưa đủ. Ví dụ:bạn không thể thay thế hoặc xóa các tệp hệ thống và một số khóa đăng ký, dừng các dịch vụ hệ thống hoặc thực hiện một số hành động không an toàn tiềm ẩn khác có thể ảnh hưởng đến sự ổn định của hệ điều hành của bạn. Trong những trường hợp này, quản trị viên hệ thống có thể có quyền sở hữu các tệp hoặc các đối tượng khác hoặc thực hiện các hành động thay mặt cho tài khoản hệ thống. Trong bài viết này, chúng tôi sẽ giới thiệu cho bạn cách chạy một ứng dụng hoặc dấu nhắc lệnh dưới dạng SYSTEM đặc quyền (LocalSystem ) tài khoản trên Windows 10.

Tuyên bố từ chối trách nhiệm . Thực hiện các thay đổi đối với hình ảnh Windows thay mặt cho tài khoản HỆ THỐNG là một hoạt động không chuẩn. Xin lưu ý rằng các hành động không chính xác được thực hiện với các đặc quyền của NT AUTHORITY \ SYSTEM có thể làm hỏng Windows của bạn. Trong thực tế, các tiến trình đang chạy dưới dạng tài khoản Hệ thống hiếm khi được sử dụng. Trong hầu hết các trường hợp, bạn có thể giải quyết sự cố bằng một số cách tiêu chuẩn:chạy, chạy ứng dụng mà không có đặc quyền của quản trị viên và chặn lời nhắc UAC, chiếm quyền sở hữu đối với tệp / khóa đăng ký, tắt UAC cho tất cả hoặc chỉ một số ứng dụng nhất định, cấp đặc quyền quản lý dịch vụ cho người không người dùng -admin.

Tài khoản HỆ THỐNG tích hợp được SCM (Trình quản lý Kiểm soát Dịch vụ) sử dụng để chạy và quản lý các dịch vụ hệ thống. Sử dụng tài khoản Hệ thống (nó có thể còn được gọi là NT AUTHORITY \ SYSTEM , Hệ thống cục bộ hoặc Máy tính \ LocalSystem ), hầu hết các dịch vụ và quy trình hệ thống được chạy (bao gồm cả Nhân hệ điều hành NT). Mở phần đính vào mmc quản lý dịch vụ (services.msc ) và lưu ý các dịch vụ có Hệ thống cục bộ trong LogOnAs cột. Các dịch vụ này đang chạy trong tài khoản HỆ THỐNG.

Làm thế nào để chạy CMD / Chương trình trong HỆ THỐNG (LocalSystem) trong Windows?

Cách chạy CMD trong Tài khoản hệ thống cục bộ trong Windows (Các phiên bản trước Vista)?

Trong Windows XP và Windows Server 2003 (không còn được hỗ trợ), có một thủ thuật thú vị cho phép bạn chạy một chương trình hoặc dấu nhắc lệnh tương tác (cmd.exe) với các đặc quyền của hệ thống bằng cách sử dụng Task Scheduler. Chỉ cần mở dấu nhắc lệnh trong tài khoản quản trị viên là đủ và chạy lệnh sau:

at 10:23 /interactive cmd.exe

ở đâu, 10:23 là thời gian hiện tại + một phút (ở định dạng 24 giờ)

Khi đến thời điểm được chỉ định, một dấu nhắc lệnh sẽ xuất hiện trong tài khoản hệ thống cục bộ. Nếu bạn đã chạy lệnh này trong phiên thiết bị đầu cuối (RDP) trên Windows Server 2003 / XP, hãy lưu ý rằng dấu nhắc lệnh với Đặc quyền hệ thống chỉ được hiển thị trong phiên bảng điều khiển (bạn có thể kết nối với bảng điều khiển máy tính qua mstsc /console hoặc mstsc /admin ).

Làm thế nào để chạy CMD / Chương trình trong HỆ THỐNG (LocalSystem) trong Windows?

Windows 10 không hỗ trợ chạy dấu nhắc lệnh tương tác bằng at yêu cầu. Bạn nên sử dụng schtasks.exe thay vào đó.

 Cảnh báo:Do ​​các cải tiến về bảo mật, tác vụ này sẽ chạy tại thời điểm dự kiến ​​nhưng không tương tác. Sử dụng tiện ích schtasks.exe nếu tác vụ tương tác được yêu cầu ('schtasks /?' để biết chi tiết). Yêu cầu này không được hỗ trợ.  

Làm thế nào để chạy CMD / Chương trình trong HỆ THỐNG (LocalSystem) trong Windows?

Cách chạy CMD / Process as SYSTEM trên Windows 10 bằng PSExec?

Trong Windows 7 trở lên, không thể chạy dấu nhắc lệnh tương tác trong tài khoản Hệ thống bằng Bộ lập lịch tác vụ. Để chạy các lệnh dưới dạng NT Authority \ System, bạn có thể sử dụng PSExec.exe tiện ích của Sysinternals.

Bạn có thể tải xuống công cụ PSExec.exe từ trang web của Microsoft:https://docs.microsoft.com/en-us/sysinternals/downloads/psexec. Bất kỳ quản trị viên Windows nào cũng quen thuộc với PSExec. Trong hầu hết các trường hợp, nó được sử dụng để quản lý Windows từ xa và nó cũng có một tính năng hữu ích để chạy các quy trình thay cho tài khoản Hệ thống. Một số chương trình chống vi rút có thể xác định PSExec.exe là một chương trình có khả năng gây hại (nhân tiện, nó là psexec được sử dụng để phân phối vi rút notpetya khét tiếng).

PSExec không cần cài đặt. Mở dấu nhắc lệnh nâng cao (“Chạy với tư cách quản trị viên”), đi tới thư mục chứa PSexec.exe và chạy lệnh sau:

psexec -i -s cmd.exe

-i - cho phép bắt đầu quy trình / ứng dụng ở chế độ tương tác (người dùng có thể tương tác với ứng dụng trên máy tính để bàn; nếu bạn không sử dụng thông số này, quy trình sẽ bắt đầu trong phiên bảng điều khiển),

- s - có nghĩa là quá trình (trong trường hợp này là dấu nhắc lệnh) phải được chạy dưới dạng tài khoản Hệ thống.

Trong lần chạy PsExec đầu tiên, bạn sẽ được nhắc chấp nhận thỏa thuận cấp phép.

Làm thế nào để chạy CMD / Chương trình trong HỆ THỐNG (LocalSystem) trong Windows?

Sau khi chạy lệnh, một cửa sổ nhắc lệnh mới sẽ xuất hiện chạy trong NT Authority \ System tài khoản. Đảm bảo nó là đúng, bằng cách chạy lệnh sau:

whoami

Làm thế nào để chạy CMD / Chương trình trong HỆ THỐNG (LocalSystem) trong Windows?

Do đó, bạn có thể chạy bất kỳ chương trình, lệnh hoặc tập lệnh nào dưới dạng tài khoản Hệ thống. Chỉ cần thay thế cmd.exe trong tham số PsExec bằng tên của tệp thực thi ứng dụng bạn muốn chạy.

Trong cửa sổ nhắc lệnh xuất hiện, bạn có thể chạy bất kỳ lệnh nào dưới dạng HỆ THỐNG. Giờ đây, bạn có thể thay đổi, đổi tên hoặc xóa các tệp hệ thống / khóa đăng ký do TrustedInstaller hoặc SYSTEM sở hữu. Tất cả các chương trình hoặc quy trình bạn khởi động trong cửa sổ này sẽ chạy với các đặc quyền LocalSystem nâng cao. Ví dụ:bạn có thể dừng một dịch vụ hệ thống hoặc đóng một tệp được mở bởi quy trình hệ thống.

Sử dụng PSExec, bạn có thể mở dấu nhắc lệnh tương tác với các đặc quyền NT AUTORITY \ SYSTEM trên một máy tính từ xa. Để làm điều đó, lệnh sau được sử dụng:

psexec -s \\mun-b21pc12 cmd.exe

Nếu “Couldn’t install PSEXESVC service ”Xuất hiện lỗi, hãy đảm bảo rằng:

  • Dấu nhắc lệnh được chạy với tư cách quản trị viên;
  • Một phiên bản dịch vụ PSEXESVC khác không chạy Làm thế nào để chạy CMD / Chương trình trong HỆ THỐNG (LocalSystem) trong Windows?

Ngoài ra còn có một số công cụ của bên thứ ba để chạy ứng dụng dưới dạng tài khoản Hệ thống ( AdvancedRun , RunAsSystem , PowerRun ), nhưng tôi không thể thấy bất kỳ điểm nào trong việc sử dụng chúng. Trước hết, họ là bên thứ ba và bạn không thể chắc chắn rằng không có mã độc hại trong đó. Thứ hai, tiện ích PsExec chính thức của Microsoft hoạt động rất tốt.