本帖最後由 gary8349 於 2021-2-16 13:11 編輯
我使用下方代碼以及幾種類似的(基於nbtstat -A)
都無法獲得資料...
請問先進要如何寫才能正確?
請高手指點指點,感恩
主要以IP取得以下資訊:主機名稱+MAC+IP- Func _GetMacAddress($_phisycaladdress)
- Local $chk_1 = StringReplace($_phisycaladdress, '.', '') / 1
- If @extended <> 3 Or $chk_1 < 1 Then Return ''
- Local $chk_2 = StringSplit($_phisycaladdress, '.', 1)
- For $idx_chk = 1 To $chk_2[0]
- If ($chk_2[$idx_chk] / 1) < 0 or ($chk_2[$idx_chk] / 1) > 255 Then Return ''
- Next
- Local $_buf = ''
- Local $_pid = Run('nbtstat -A ' & $_phisycaladdress, '', @SW_HIDE, 2)
- Do
- $_buf &= StdoutRead($_pid)
- Until @error
- If StringReplace($_buf, 'MAC Address = ', '') <> $_buf Then
- $chk_3 = StringSplit($_buf, 'MAC Address = ', 1)
- Return StringReplace(StringReplace($chk_3[2], @CR, ''), @LF, '')
- EndIf
- Return ''
- EndFunc ;==>_GetMacAddress
- MsgBox(0, '', _GetMacAddress('XXX.XXX.XX.XXX'))
複製代碼 CMD的結果(nbstat -A 192.168.0.1)
NetBIOS 遠端電腦名稱表格
名稱 類型 狀態
---------------------------------------------
TEST01_SERVER_2<00> 唯一 已登錄
WORKGROUP <00> 群組 已登錄
TEST01_SERVER_2<20> 唯一 已登錄
MAC 位址 = 00-00-00-00-D4-00
單純使用 _RunDos ( 'nbtstat -A 192.168.0.1 >>123.txt' )
所產生的文字檔內容為空
會不會是因為指令還沒跑完AU3判斷已經完成...
至少要得到遠端電腦名稱表格才能處理後續...
但現在卡關在這><
|