Tôi có một tập lệnh PowerShell mà tôi đã viết để so sánh các Tác vụ đã lên lịch giữa hai nút của cụm máy chủ ứng dụng của chúng tôi. Nó sử dụng mã này để truy vấn các tác vụ từ một máy chủ nhất định...
chức năng getT task($server) {
trả lại Get-ScheduledTask -CimSession $server |
Where-Object TaskPath -like '*OurFolder*' |
ForEach-Object {
[pscustomobject]@{
Máy chủ = máy chủ $
Đường dẫn = $_.TaskPath
Tên = $_.TaskName
Đã tắt = ($_.State -eq 'Đã tắt')
Lệnh = $_.Actions.Execute
Đối số = $_.Actions.Arguments
Khoảng thời gian = $_.Triggers.RepetitionInterval
HashId = "$($_.Actions.Execute)|$($_.Actions.Arguments)"
HashFull = "$($_.TaskPath)|$($_.TaskName)|$($_.Actions.Execute)|$($_.Actions.Arguments)|$(($_.State -eq 'Đã tắt '))"
}
}
}
Nó hoạt động hoàn hảo khi chạy dưới tài khoản quản trị miền của tôi.
Tuy nhiên, khi tôi cố gắng chạy nó trong tài khoản dịch vụ của chúng tôi dưới dạng một tác vụ đã lên lịch, nó sẽ gặp lỗi này khi cố gắng truy vấn các tác vụ đã lên lịch trên nút khác ...
Get-ScheduledTask: SERVER.domain.local: Không thể kết nối với máy chủ CIM. Truy cập bị từ chối.
Tại F:\Applications\TaskSchedulerNodeCompare\compare-nodes.ps1:9 char:12
+ trả lại Get-ScheduledTask -CimSession $server |
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (MSFT_ScheduledTask:String) [Get-ScheduledTask], CimJobException
+ FullQualifiedErrorId : CimJob_BrokenCimSession,Get-ScheduledTask
Google và nhìn xung quanh nó NHÌN giống như cách duy nhất để cho phép tài khoản truy cập danh sách này là thêm chúng vào Quản trị viên cục bộ trên máy chủ được đề cập? Nhưng thực sự không đúng khi phải tạo tài khoản dịch vụ của chúng tôi với tư cách là quản trị viên cục bộ và rõ ràng là chúng tôi không muốn thực hiện tác vụ trong tài khoản quản trị viên miền của mình.
tôi đã thử giải pháp không. 3 ở đây, cái mà âm thanh như nó sẽ là nó ...
1. Với tư cách là Quản trị viên của máy chủ, hãy chuyển đến Trình quản lý Máy chủ -> Công cụ -> Quản lý Máy tính. Ở bên trái, mở rộng "Dịch vụ và Ứng dụng" và nhấp chuột phải vào "Điều khiển WMI". Chuyển đến "Thuộc tính".
2. Trong Cửa sổ mới mở, nhấp vào tab Bảo mật.
3. Mở rộng Cây gốc, sau đó nhấp vào nút CIMV2 và nhấp vào nút bảo mật
4. Trong Cửa sổ mới mở, nhấp vào nút Nâng cao.
5. Trong Cửa sổ mới mở, nhấp vào nút Thêm bên dưới tab quyền.
6. Trong Cửa sổ mới mở, hãy nhấp vào âselect a principal", sau đó tìm kiếm người dùng mà bạn đang gặp sự cố.
7. Trong phần áp dụng cho, hãy chọn âkhông gian tên này và không gian tên con".
8. Để được cấp quyền, hãy kiểm tra âExecute Methods", âEnable Accounts" và âRemote Enable"
9. Nhấp vào chấp nhận trên tất cả các hộp thoại đang mở
10. Khởi động lại dịch vụ WMI. Với tư cách là Quản trị viên của máy chủ, hãy chuyển đến Trình quản lý máy chủ -> Công cụ -> Quản lý máy tính. Ở bên trái, mở rộng "Dịch vụ và ứng dụng" và nhấp vào "Dịch vụ". Chuyển đến "Công cụ quản lý Windows" và nhấp chuột phải vào nó. Sau đó chọn "Khởi động lại".
11. Thử lại lệnh. Các hướng dẫn trên được điều chỉnh từ bài đăng StackOverflow này.
nhưng làm đủ các bước rồi mà vẫn không được.
Làm cách nào tôi có thể cho phép tài khoản dịch vụ của mình truy vấn (chỉ đọc) các tác vụ đã lên lịch từ máy chủ của chúng tôi, trong khi vẫn chú ý đến bảo mật nhất có thể?