2017-05-03 1 views
0

호스트 및 호스트 인스턴스 삭제를 자동화하는 스크립트를 빌드 할 때 PowerShell에서 아래 스크립트를 실행합니다.MSBTS_HostSetting을 찾을 수 없음

PS는

그러나

C:\WINDOWS\system32> [System.Management.ManagementObject]$objHostSetting = ([WmiClass]"root/MicrosoftBizTalkServer:MSBTS_HostSetting").Delete()

, 스크립트를 실행 한 후, 내가 그것을 실행하고 때마다 아래의 오류가 발생했기 때문에 MSBTS_HostSetting가 없어 보인다.

나는 BizTalkOMExplorer를로드하려고하지만 MSBTS_HostSetting 반환하지

C:\WINDOWS\system32> [System.Management.ManagementObject]$objHostSetting =[WmiClass]"root/MicrosoftBizTalkServer:MSBTS_HostSetting" Cannot convert value "root/MicrosoftBizTalkServer:MSBTS_HostSetting" to type "System.Management.ManagementClass". Error: "Not found " At line:1 char:2 + [System.Management.ManagementObject]$objHostSetting =[WmiClass]"root/MicrosoftB ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [], RuntimeException + FullyQualifiedErrorId : InvalidCastToWMIClass

PS. 어떤 제안이나 지식을 어떻게 되돌릴 수 있습니까?

+1

왜 당신이 그것을 삭제 한 후에 설정이있을 것이라고 생각합니까? –

+0

솔직히 delete()가 전체 설정을 삭제한다는 것을 알지 못합니다. 그 이유는 웹에서이 주제가 적지 만 다시 가져 오려고하는 이유입니다. – jgpadilla04

+0

'.delete()'메쏘드가 무엇을 할 것이라고 생각 했습니까? 확실히 [클래스 문서] (https://msdn.microsoft.com/en-us/library/aa560307.aspx)와 [조작을위한 샘플 코드] (https://msdn.microsoft.com)를 확인했습니다. /en-us/library/aa560467.aspx) 코드를 작성하고 사용하기 전에? –

답변

0

내 문제가 해결되었습니다. 아래는 내가 한 일입니다.

  1. 열기 CMD와 BTSWMIProvider.dll 예 등록 : Regsvr32.exe를 "C를 : \ 프로그램 파일 마이크로 소프트 비즈 토크 서버 2013 R2 \ Bins32 \ BTSWMIProvider.dll \ (86)"
  2. 실행에 다음 CMD뿐. mofcomp.exe BTSWMISchema.mof mofcomp.exe BTSWMISchema.mfl
  3. 서비스에서 WMI를 다시 시작하십시오.

트릭을 수행 할 것입니다! :) PowerShell을

0

, 당신은 귀하의 HostInstances를 얻을 수 있습니다 :

$hostInstances = Get-WmiObject MSBTS_HostInstance -namespace root\MicrosoftBizTalkServer -ErrorAction Stop 

그리고 당신은 삭제 및 삭제 방법을 호출 할 하나 찾을 수 있습니다

$hostInstances[0].Delete() 

호스트와 동일 :

$hosts = Get-WmiObject MSBTS_Host -Namespace root\MicrosoftBizTalkServer -ErrorAction Stop 
$hostToDelete = $hosts | where {$_.Name -eq 'HostNameToDelete'} 
$hostToDelete.Delete()