利用Powershell查詢AD中電腦

2021-09-04 01:50:56 字數 1274 閱讀 4809

以前如果要調查ad電腦中資訊可能需要借助工具來進行,或是用sms/sccm這樣的系統;現在powershell引入ad後,如果靈活的利用powershell,可以達到很多你想要的功能.

下面就是定製適合自已要求的查詢了,如果要知道所有電腦名\作業系統\servicepack版本\作業系統具體版本本並匯出為csv檔案,cmdlet如下:

get-adcomputer -filter * -property * | select-object name,operatingsystem,operatingsystemservicepack,operatingsystemversion | export-csv allwindows.csv -notypeinformation -encoding utf8

查詢發現,由於ad龐大,有很多不是你所需要的,你可以只查詢指定ou中的電腦,則加入ou的條件,修改為:

get-adcomputer -searchbase 'ou=computer,ou=compay1,dc=domain,dc=com' -filter * -property * | select-object name,operatingsystem,operatingsystemservicepack,operatingsystemversion | export-csv allwindows.csv -notypeinformation -encoding utf8

(請自行修改ou和域資訊)

如果想知道這些電腦最後一次是什麼時候登入的呢?有兩個引數可用: lastlogon\ lastlogontimestamp,具體可參考:

更準確的,應該是用lastlogontimestamp,但lastlogontimestamp的值是活動目錄時間戳,並不是具體的年月日,需要自已進行轉換,修改後的cmdlet:

get-adcomputer -searchbase 'ou=computer,ou=compay1,dc=domain,dc=com' -filter * -properties * | select-object name,operatingsystem,operatingsystemservicepack,operatingsystemversion,@} | export-csv allwindows.csv -notypeinformation -encoding utf8

(請自行修改ou和域資訊)

這樣可以很快查詢出現在指定ou中所有的電腦名\作業系統\servicepack版本\作業系統具體版本\最後一次登入時間,用excel開啟,進行需要的統計與分析,效果如下:

Powershell 查詢 Windows 日誌

論壇裡面有人詢問如何使用powershell指令碼查詢檔案修改的審計日誌,豆子伺服器沒開這個功能,不過嘗試寫了個類似的指令碼可以查詢日誌,並輸出對應的xml內容。基本方法是get winevent,可以指定對應的eventid,獲取列表。如果想獲取這個事件具體的內容,需要根據不同事件的xml內容進行...

PowerShell 查詢 Excel記錄

豆子的兼職是澳洲 提供澳洲直郵或者國內供貨,需要的可以聯絡 比如,我有很多xlsx快遞單號文件,格式大概是這樣的 有的時候,為了查詢某個訂單號,需要檢視qq聊記錄找到對應的發貨單記錄 然後還得找到當天對應的excel 非常麻煩,往往為了查詢乙個單號需要折騰2分鐘。為了解決這個查詢的問題,豆子用pow...

PowerShell多日誌多條件查詢

做乙方的,免不了乙個月去客戶那裡巡檢一次。無非就是翻翻日誌,排排錯啥的。直接說場景需求吧 多日誌名環境,使用wmiobject來幹,filter後面接的語句是wql標準,運算子按照wql的來,最後生成個list的html。powershell語句如下 ps3.0請用get ciminstance c...