Điểm:-1

Máy chủ đã trả về lỗi sau: ngữ cảnh liệt kê không hợp lệ

lá cờ cn

Đây là lệnh tôi đang sử dụng... Ai có thể giúp tôi về điều này không..

Get-ADComputer -Filter * -Searchbase "OU=IN0010,OU=BU-L04-Glass,OU=CIN,OU=L00-SGTS-USS,DC=zl,DC=if,DC=atcsg,DC=net" - Thuộc tính * | Sắp xếp lần đăng nhập cuối cùng | Chọn Tên, LastLogonDate,@{Name='LastLogon';Expression={[DateTime]::FromFileTime($_.LastLogon)}} | export-csv -path c:\Temp\ADComputer.csv -NoTypeInformation

lá cờ cn
Lệnh đầu tiên tạo ra bao nhiêu máy tính và tất cả chúng có LastLogon không?
Điểm:1
lá cờ cn

Hãy phá vỡ điều này một cách độc đáo:

  1. Lần đăng nhập cuối cùng không được sao chép giữa các DC - đó là dấu thời gian trên mỗi DC duy nhất cho tài khoản đó. Nếu một máy tính chưa bao giờ đăng nhập vào DC mà truy vấn của bạn đang truy cập, thì thuộc tính đó sẽ không được điền. Nếu nó chủ yếu được đăng nhập vào các DC khác nhau, ngày có thể không chính xác. Thay vào đó, nếu bạn chỉ muốn biết liệu máy tính có đăng nhập "gần đây" hay không, hãy truy vấn Thời gian đăng nhập lần cuối hoặc Ngày đăng nhập lần cuối - xem lưu ý dưới đây.

  2. Khi bạn muốn hiểu một truy vấn đang làm gì, đừng ném tất cả truy vấn đó qua quy trình bán hàng và xuất ra CSV. Trừ khi bạn thích không biết chuyện gì đang xảy ra và mở một tệp CSV trống, trước tiên hãy chạy các lệnh đơn giản để hiểu đầu ra và đảm bảo bạn nhận được kết quả phù hợp trước khi xuất ra tệp. Xem các ví dụ bên dưới.

  3. Nếu tất cả những gì bạn cần là Lần đăng nhập cuối cùng hoặc Ngày đăng nhập lần cuối và tên máy tính, vui lòng không được dùng -Tính chất *. Truy vấn của bạn sẽ mất nhiều thời gian hơn vì bạn thực sự đang kéo lại tất cả dữ liệu trong tài khoản máy tính. Nếu bạn có các chứng chỉ được lưu trữ trong các đối tượng máy tính trong AD, thì đây có thể là KB dữ liệu cho từng đối tượng. Nếu bạn chỉ cần hai thuộc tính, thì chỉ cần chọn chúng: Get-ADComputer -filter '*' -properties Name,LastlogonDate. Ví dụ về kích thước dữ liệu ở cuối.

LastLogonTimeStamp so với LastLogonDate

không giống Lần đăng nhập cuối cùng, Thời gian đăng nhập lần cuối được sao chép giữa tất cả các DC, nhưng chỉ chính xác tối đa 14 ngày trước. Ngày đăng nhập lần cuối giống như Thời gian đăng nhập lần cuối, nhưng đó là một tính toán [Ngày giờ] (nó không được lưu trữ trong LDAP, nhưng được tính khi bạn truy vấn nó). Vì nó là một [Ngày giờ], Dễ dàng sắp xếp và lọc hơn.

Nếu Thời gian đăng nhập lần cuối 14 ngày tuổi hoặc ít hơn, có thể có một cái mới hơn Lần đăng nhập cuối cùng cho máy đó trên một hoặc nhiều DC. Nếu bạn cần thời gian chính xác hơn, bạn sẽ cần truy vấn tất cả các DC để Lần đăng nhập cuối cùng trên tất cả các tài khoản máy tính và sau đó so sánh tài khoản nào có ngày gần đây nhất. Tuy nhiên, đối với các mục đích báo cáo điển hình, chẳng hạn như nếu bạn đang kiểm tra các tài khoản máy có thể "cũ", Ngày đăng nhập lần cuối nói chung là ổn.

tham khảo bài viết này để biết thêm thông tin.

Hiểu kết quả truy vấn AD/LDAP

Khi bạn không chắc kết quả của mình trông như thế nào, đừng xuất chúng ra tệp. Để hiểu lệnh của bạn đang làm gì, hãy thử một bộ lọc đơn giản và để nó xuất ra bàn điều khiển. Sau đó tinh chỉnh truy vấn nếu cần. Nếu bạn cần xử lý dữ liệu sau khi có kết quả, hãy thực hiện từng bước một và kiểm tra kết quả trước khi bổ sung thêm. Tôi đã làm việc với Powershell được 15 năm và tôi vẫn bắt đầu như thế này - kiểm tra những gì xuất hiện trước khi thực hiện bước tiếp theo để lọc và xử lý dữ liệu.

Hãy thử các ví dụ sau, rõ ràng là thay thế tên máy tính và đơn vị tổ chức bằng tên chính xác từ môi trường của bạn (nhân tiện, đừng tiết lộ tên thật trong câu hỏi của bạn.)

# Liệt kê tất cả các máy tính trong OU với các thuộc tính mặc định mà Get-AdComputer xuất ra - điều này không bao gồm LastLogonDate, v.v.
# ví dụ. tên, tên phân biệt, đã bật, kiểu đối tượng, v.v... 
Get-ADComputer -Filter * -Searchbase "OU=MyOUPath,DC=example,DC=net"

# Hiển thị -tất cả- thuộc tính từ máy tính có tên "MyComputer"
Get-ADComputer -Filter 'name -eq "Mycomputer"' -Searchbase "OU=MyOUPath,DC=example,DC=net" -properties *

# Chỉ hiển thị các thuộc tính cụ thể từ cùng một máy tính
Get-ADComputer -Filter 'name -eq "Mycomputer"' -Searchbase "OU=MyOUPath,DC=example,DC=net" -properties Name,LastLogonDate

# Liệt kê tất cả các máy tính trong OU chỉ với tên và LastLogonDate
Get-ADComputer -Filter * -Searchbase "OU=MyOUPath,DC=example,DC=net" -properties Name,LastLogonDate

# Như trên, sử dụng một biểu thức để chuyển đổi thuộc tính LastLogon chưa sao chép thành [datetime] thay thế
# Lưu ý rằng cần xử lý thêm nếu bạn cần so sánh ngày này giữa nhiều DC
Get-ADComputer -Filter * -Searchbase "OU=MyOUPath,DC=example,DC=net" -Properties Name,LastLogon | Chọn Tên, LogonDate,@{Name='LastLogon';Expression={[DateTime]::FromFileTime($_.LastLogon)}}

# Nếu kết quả của bạn trong lệnh trước có vẻ tốt, giờ đây bạn có thể sắp xếp và xuất ra CSV
Get-ADComputer -Filter * -Searchbase "OU=MyOUPath,DC=example,DC=net" -properties Name,LastLogonDate | Sắp xếp Ngày đăng nhập cuối cùng | chọn Tên,Ngày đăng nhập cuối cùng | export-csv -path c:\Temp\ADComputer.csv -NoTypeInformation

Đối với ví dụ cuối cùng, các Chọn Tên, Ngày đăng nhập cuối cùng là loại trừ các thuộc tính mặc định như Tên nổi bậtlớp đối tượng từ xuất CSV. Ngoài ra, nếu bạn không thích cách Ngày đăng nhập lần cuối được định dạng, bạn có thể cần bao gồm một biểu thức để định dạng nó ở đó (tương tự như chuyển đổi ngày đăng nhập thời gian tập tin).

Kích thước dữ liệu truy vấn LDAP

Danh sách tệp bên dưới cho thấy sự khác biệt về kích thước dữ liệu nếu tôi chỉ trả về TênNgày đăng nhập lần cuối của một máy tính thành "comp1.txt" so với TẤT CẢ các thuộc tính của cùng một máy tính thành "comp2.txt". Nhân với số lượng máy được truy vấn - rất dễ hiểu tại sao truy vấn sẽ mất nhiều thời gian hơn khi kéo dữ liệu không cần thiết ra khỏi AD và qua mạng.

Chế độ LastWriteTime Độ dài Tên
---- ------------- ------ ----
-a---- 2022-02-14 18:41 894 comp1.txt
-a---- 2022-02-14 18:42 69736 comp2.txt

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.