네트워크에서 WMIC 명령 실행


7

명령 프롬프트에 한 번에 하나씩 이것을 입력하는 대신 :

wmic / node : ipaddress / user : 관리자 / password : mypassword bios는 일련 번호를 얻습니다.

하나의 전체 서브넷에 대해 어떻게 실행하고 텍스트 문서로 출력 할 수 있습니까? 컴퓨터 인벤토리를 확인하기 위해 두 달마다이 작업을 수행하기 때문에 수동으로 작업하는 대신 일괄 스크립트에 넣을 수있는 훨씬 쉬운 방법이 있다고 가정합니다.

답변:


13

뒤에 목록을 node: node:ip1,ip2,ip3넣거나 파일을 사용할 수 node:@file있으므로 모든 IP 주소를 파일에 넣고 실행하십시오.

wmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csv

이는 모든 컴퓨터에서 사용자 / 암호가 동일하다고 가정합니다.


출력 파일에 실패한 콘솔을 나열하는 방법이 있습니까? 일부에서 얻은 응답은 "RPC를 사용할 수 없음"또는 이와 유사한 것입니다. 다시 돌아가서 확인해야 할 항목을 알고 싶습니다.
C-dizzle

@ C-dizzle stderr를 파일로 리디렉션 할 수 있습니다. `2> log.txt`로 ( wmiccmdline의 끝에 추가하거나 cmdline의 끝에 추가 한 다음 분석 할 수 있습니다./failfast:on
wmz

나는 그 부분을 올바르게하지 않아야합니다. 내 명령에 추가하는 방법에 대한 예를 들어 주시겠습니까?
C-dizzle

2>log.txt wmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csv또는 wmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csv 2>log.txt(둘 다 한 줄이어야 함)
wmz

2

파일 리디렉션이있는 for 루프는 작동하지만 노드 세트에 더 많은 구멍이있는 경우 잠시 동안 그대로두고 실행할 수 있습니다 (즉, 루프에서 IP를 확인할 수 없음)

(FOR /L %s IN (1,1,254) DO wmic /node:192.96.1.%s /user:administrator /password:pass bios get serialnumber) >> c:\results.txt

배치 파일에 넣고 계획하는 경우, 교체 %s와 함께 %%s. 그게 다야

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.