Windows 2003 Server에서 실행중인 일부 VBScript에는 흥미롭고 성가신 문제가 있습니다 (XP에서는 정상적으로 실행됩니다).잠시 후 WMI 오류가 발생합니다.
스크립트는 기본적으로 주기적으로 WMI 개체를 호출하여 성능 정보를 추출하고 로그 파일에 기록합니다. 매일 아침 12시 5 분에 예정된 작업으로 시작되어 자정까지 실행됩니다 (충돌이 계속되지 않는 경우). 관리자가 소유하고 있으며 작업은 "cscript xx.vbs blah blah blah"
입니다.
때로는 몇 시간 동안 실행되며 경우에 따라서는 몇 분만 실행됩니다. 통화는 형식은 다음과 같습니다
set objWMI = getObject("winmgmts:\\.\root\cimv2")
: : :
do lots of times:
set itemCpu = wmi.get("Win32_PerfRawData_PerfOS_Processor.Name='_Total'")
가 다시 함께 제공되는 원격 프로 시저 호출을 실행하지 못했습니다하지만 추가 정보는 (은 32 비트 16 진수를 포기하지 않고 나 '알리는 대화 상자입니다 오류 다음 번에이 질문을 업데이트 할 것이지만 내 Google 검색이 매우 일반적인 페이지로 바뀌어 코드가 도움이 될지 확신 할 수 없습니다.
또한 다음 줄을 사용하여 충돌 (같은 오류)했지만 Win32_Perf를 사용하도록 변경 한 이후로이 문제가 발생하지 않았습니다. Raw Data_PerfOS_Memory.
set colMem = wmi.execQuery("select AvailableKBytes" & _
" from Win32_PerfFormattedData_PerfOS_Memory",,48)
같은 컴퓨터에 있기 때문에 네트워크와 관련이 없습니다.
나는 objWMI를 아무 것도 설정하지 않고 루프를 통해 매번 다른 getObject를 시도했지만 도움이되지 않았습니다.
또 다른 가능한 문제는 사실 VMWare Workstation (XP도 그렇습니다)에서 실행 중입니다. 다음 주에는 Win2k3의 물리적 PC 설정을 테스트하여 실행 해 보겠습니다.
이상하게 얇은 것은 때때로 문제없이 몇 시간 동안 실행되어 데이터를 수집하여 로그 파일로 보냅니다. 다른 때에는 10 분 안에 충돌합니다.
Windows 전문가의 아이디어가 있습니까?
는 UPDATE :
좋아, 마침내 다시 실패했습니다.
+-------------------------------------------------+
| Windows Script Host |X|
+-------------------------------------------------+
|/ Script: C:\Program Files\blah\blah.vbs |
| /\ Line: 271 |
| Char: 2 |
| Error: The remote procedure call |
| failed and did not execute. |
| Code: 800706BF |
| Source: SWbemServicesEx |
+-------------------------------------------------+
라인 (271)은 다음과 같습니다 :
set wmi = getObject("winmgmts:\\.\root\cimv2")
(이 계속되고있는 재 : wmi
와
set itemCpu = wmi.get("Win32_PerfRawData_PerfOS_Processor.Name='_Total'")
는 이전에 설정 된 다음 화면 캡처에서 내 작은 노력입니다 루프 내부에서 생성되므로 RPC 연결이 끊어지는 문제는 아닌 것 같습니다.
이벤트의 오류는 없습니까? – lsalamon
이벤트 뷰어의 내용이 전혀 없습니다 (언급 했어야합니다). – paxdiablo