Windows Server 2003 DNS 서버의 .vbs에서 DNSCMD.exe/enumrecords를 실행하고 DNS 영역 아래의 각 노드 이름에 대해 .csv 파일로 결과를 덤프하려고합니다..VBS를 사용하여 노드 이름 배열의 for 루프에서 DNSCMD/enumrecords를 실행합니다. CLI가 마치 DNSCMD /를 실행 한 것처럼 보입니다.
노드에 입력했습니다. 영역 아래에서 명령을 배열로 실행하고 다른 배열에 파일 이름 목록을 입력했습니다.
for 루프를 실행하여 각 노드 이름과 파일 이름 0-42를 살펴보고 각 노드 이름에 대한 명령을 실행하고 각 파일 이름에 순서대로 출력하는 것이 좋습니다.
Option Explicit
Dim ncpArr, NODE, fnameArr, FILE, DNSCMD, objWSHShell, QComm
Set objWSHShell = WScript.CreateObject("WScript.Shell")
ncpArr = Array(42 item array of DNS Nodes)
fnameArr = Array(42 item array of filenames)
QComm = "DnsCmd DNSservername /enumrecords contoso.com " & ncpArr(NODE) & " /Additional> c:\DNSData\" & fnameArr(NODE) & ".csv"
For NODE = 0 to 42
objWSHShell.Run QComm,1,True
'objWshShell.Exec QComm
'wscript.echo "| " & ncpArr(NODE) & " | | " & fnameArr(NODE) & " |"
'wscript.echo DNSCMD
Next
목적
자신에게 시간을 절약했다하지만 난 시간을 세 겹으로 한 어떤 경우는이 스크립트를 쓰는 동안 이러한 (42 개) 명령을 실행하는 데 걸리는 것이다. 내가 지금까지 알아 낸 무엇은 다음과 같습니다
나는 그것이 CSV를 출력하는 DNS 서버에서이 명령을 실행하면 나도 같은 같은 명령을 실행하면 내가
DnsCmd dnsservername /enumrecords zone.name node.st.name /Additional /continue> c:\DNSData\state_city_net.csv
에 정확히 원하는처럼 이 :
Set objWSHShell = WScript.CreateObject("WScript.Shell")
objWSHShell.run "dnscmd /enumrecords zone.name node.st.name /additional> c:\DNSData\state_city_net.csv"
명령 줄 상자 내가 DNSCMD을/실행하는 것처럼 간단하게 DNSCMD에 대한 지침을 보여주는 팝업? 위의 루프를 실행하고 적절한 시간에 일시 정지/중단을 눌러서 만 볼 수있었습니다. 명령 줄 상자에 오류가 나타나기 위해 열어 둘 수 있는지 확실하지 않은 경우
잘못된 구문으로 실행하면 정상적으로 표시되는 한 가지 오류가 맨 위에 표시됩니다. 이 경우 문자 그대로 DNSCMD /? 상단에 오류가없는 지침.
.vbs를 사용하여 DNSCMD/enumrecords를 실행할 수 없는지 궁금합니다. 주석 처리 된 부분에서 볼 수 있듯이 구문을 올바로 보여 주려고 몇 가지 시도했습니다. 루프의 출력을 에코 처리하면 DNS 서버의 명령 줄에 정확한 구문을 입력 할 수 있습니다.
누군가 내가 위에서 봤던 것을 들키고 왜 내 스크립트를 실행할 때 그 일을하는지 또는 내 스크립트가 건전하고 DNSCMD와 관련이 있다는 것을 확인할 수 있다고해도 내게 더 잘 수면을 도울 것입니다. . 당신이 쉘 ('DOS 상자')에
DnsCmd dnsservername /enumrecords zone.name node.st.name /Additional /continue> c:\DNSData\state_city_net.csv
를 입력
감사 드류
정말 고마워요. 정말 제 정신을 살 렸습니다! 나는 그것을 작동시킬 수 있었다. 루프는 DNSCMD 명령에서 % comspec %/c를 제거하고 다음과 같이 실행하기 전까지 배열의 다음 항목으로 이동하지 않습니다. objWSHShell.Run "% comspec %/c"& QComm & "", 1 ,참된 –