Tôi có một tập lệnh Powershell sẽ được chạy thông qua một công cụ tự động hóa đối với nhiều máy chủ. Nó hoạt động tốt trên các máy Windows, vì các cuộc gọi từ xa sử dụng tài khoản dịch vụ của công cụ mà không cần phải nhắc hoặc phơi bày bất kỳ thông tin đăng nhập nào trong mã. Kịch bản này cũng chạy với các máy Linux thông qua SSH bằng gói SharpSSH. SharpSSH không tự động sử dụng thông tin đăng nhập của người dùng Powershell nhưng yêu cầu tên người dùng và mật khẩu, tệp khóa RSA hoặc đối tượng PSCredential. Tôi không thể nhắc thông tin đăng nhập bằng cách sử dụng Nhận-Credential vì nó được chạy qua công cụ tự động hóa. Tôi không muốn để lộ tên người dùng và mật khẩu trong mã hoặc có một khóa RSA ngồi ở đó. Tôi muốn xây dựng một đối tượng PSCredential từ người dùng Powershell hiện tại (tài khoản dịch vụ). Việc thử [System.Net.CredentialCache] :: DefaultNetworkCredentials cho thấy một khoảng trống và [System.Security.Principal.WindowsIdentity] :: GetCurrent() không cung cấp đối tượng hoặc thông tin mà tôi cần.Nhận đối tượng thông tin đăng nhập của người dùng hiện tại trong Powershell mà không cần nhắc
Có ai có phương pháp tạo đối tượng PSCredential từ người dùng hiện tại không? Hoặc có thể là một sự thay thế hoàn toàn khác cho vấn đề này?
Rất cám ơn!
Ahh, thật không may. Sau một số cuộc thảo luận và nghiên cứu, chúng ta sẽ đi với khóa RSA. Nó sẽ kết thúc cho phép nhiều hơn trong tương lai anyway. Cảm ơn, Taylor! – Beege
Bạn nói nếu người dùng là một phần của AD, bạn có thể nhận được một đối tượng chứng chỉ; đúng không? Tôi đang cố gắng làm điều này (tiêu đề của câu hỏi), trên Windows. – ryanwebjackson