PsExec.exe + PsLoggedOn.exe +批處理文件。
第1步。下載PsExec.exe並將其放在一個文件夾中。
第2步。將PsExec.exer和PsLoggedOn.exe放在一個文件夾中。
第3步。確定網絡共享。
第4步。創建一個名爲pc_list.txt的文本文件,粘貼NET VIEW的結果(減去「\」 - 應該是每行一個計算機名稱)。基本上應符合下列文字:
computer1
computer2
computer3
computer4
10.1.1.1
10.2.1.3
10.3.1.4
等
您可以使用IP或計算機名。
步驟5.創建名爲PsExec.bat一個批處理文件用下面的代碼:
"location_of_PsExec.exe"\PsExec.exe @"location_of_text_file"\pc_list.txt -u domain\Admin_username -p password -n 60 -c -f "location_of_runPsLoggedOn.bat"\runPsLoggedOn.bat
步驟6.創建名爲runPsLoggedOn.bat另一個批處理文件用下面的代碼:
@echo off
echo.%computername%>>"location_of_network_share"\userlist.txt
PsLoggedOn.exe -x>>"location_of_network_share"\userlist.txt
echo.>>"location_of_network_share"\userlist.txt
第7步。運行PsExec。蝙蝠
這真的可能不會是你正在尋找的確切答案,但這應該至少讓你指出正確的方向... 我沒有測試過這一點,但我用東西類似於使用PsExec.exe完成其他事情。 您只需在代碼中寫入,以僅輸出域\用戶名到網絡共享上的文件(來自PsLoggedOn.exe -x >>「location_of_network_share」\ userlist.txt),因爲輸出如下所示: 用戶本地登錄: 域\用戶
沒有人通過資源共享登錄。
您也可能希望找到,至於格式化的進行,一種方式來輸出該用戶名的變量,讓你可以做到以下幾點:
echo.%computername% %variable_username_from_PsLoggedOn%>>"location_of_network_share"\userlist.txt
無論如何,這應該讓你開始你的方式得到這個解決方案...
這是我到目前爲止:/ f「skip = 3 delims = \」@@在in('淨視圖')做回聲。@@ c> > computer_list.txt for/f @@ u in(computer_list.txt)do psloggedon -l -x \\ @@ u 2> nul |找到「DOMAIN \」>> user_list.txt 現在我需要將兩個文本文件合併爲一個csv。我想格式化,像這樣: ComputerA與loggedInUser ComputerB 與loggedInUser ... –
jonatj
2010-09-25 08:09:04
您可以直接把這些代碼到您的文章。這更好看。在評論中沒有人會閱讀它。 – Joey 2010-11-10 11:44:46