Thông thường, bạn chỉ có thể mạo danh là tài khoản dịch vụ từ một dịch vụ Windows, như bài đăng này đề cập:
Bí quyết là chạy mã của bạn dưới dạng Hệ thống cục bộ và từ đó bạn có thể mạo danh tài khoản dịch vụ bằng cách sử dụng tên người dùng thích hợp mà không cần mật khẩu. Một cách để chạy mã của bạn với tư cách là tài khoản Hệ thống cục bộ là tạo một trình bao dòng lệnh bằng cách sử dụng kỹ thuật được hiển thị bên dưới (lấy từ bài đăng ban đầu này ) và thực thi hợp ngữ của bạn từ đó. Gọi System.Diagnostics.Debugger.Break()
trong mã của bạn cho phép bạn gỡ lỗi.
Để tạo một trình bao dòng lệnh chạy trong tài khoản hệ thống cục bộ, hãy mở một cửa sổ dòng lệnh mới và nhập:
c:\sc create testsvc binpath= "cmd /K start" type= own type= interact
theo dõi bởi:
c:\sc start testsvc
Một cửa sổ lệnh mới đã được mở ra. Trong cửa sổ đó, hãy chạy application.exe của bạn - bạn sẽ thấy rằng bạn hiện đang chạy với tư cách là tài khoản người dùng Hệ thống tích hợp sẵn. Sau khi thử nghiệm xong, bạn có thể xóa dịch vụ thử nghiệm bạn đã tạo bằng cách nhập:
c:\sc delete testsvc
Nếu bạn cố gắng làm điều đó trong ngữ cảnh người dùng của riêng mình, thì những nỗ lực đó sẽ thất bại.