2013-01-18 4 views
0

누군가가이 문제를 조사하고 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까? powershell과 wmi를 사용하여 IIS 웹 사이트에서 사용자 지정 오류 메시지 속성을 수정하려고합니다 ... 이것은 내가 생각해 낸 것입니다.WMI IIS 6.0 사용자 지정 HttpError (Powershell)

$Server = "localhost" 
    $Wmi = Get-WmiObject -Class IIsWebServerSetting -Namespace "root\microsoftiisv2" -ComputerName $server -filter "ServerComment = 'SharePoint - SP80'" -Authentication 6 
    $CustomHttpError = $wmi | Foreach-Object { $_.HttpErrors | ? {$_.HttpErrorCode -contains "400"} | Select HttpErrorCode, HttpErrorSubcode, HandlerType,HandlerLocation;} 
    $CustomHttpError.HandlerLocation('C:\WINDOWS\help\iisHelp\common\Custom.htm') 

나는 $을 검사 할

내가 사용하는 가져 오기 - 회원 오류 메시지 "[Selected.System.Management.ManagementBaseObject] 'HandlerLocation'라는 메서드가 포함되어 있지 않기 때문에 메소드 호출 실패"GET CustomHttpError 다음과 같은 정보를 얻습니다.

유형 이름 : Selected.System.Management.ManagementBaseObject

이름 MemberType 정의
---- ---------- ----------
는 Equals 메서드 부울이 같음 (은 System.Object의 OBJ)
GetHashCode 방법 INT GetHashCode()
GetType을 방법 유형 GetType을()
ToString 방법 문자열 ToString()
HandlerLocation NoteProperty 선택 System.String HandlerLocation = C : \ WINDOWS \ 도움말 \ iisHelp를 \ common \ 400.htm HandlerType NoteProperty 선택 System.String HandlerType = FILE
HttpErrorCode NoteProperty 선택 System.String HttpErrorCode = 400
HttpErrorSubcode NoteProperty 선택 System.String HttpErrorSubcode = *

그것이 내가 호출 할 수있는 방법이 아닌 경우, 어떻게이 HandlerLocation 속성을 수정하는 방법은 무엇입니까?

답변

0

시도 :

$Server = "localhost" 
$Wmi = Get-WmiObject -Class IIsWebServerSetting -Namespace "root\microsoftiisv2" -ComputerName $server -filter "ServerComment = 'SharePoint - SP80'" -Authentication 6 

#Get httperrors array 
$HttpErrors = $wmi.HttpErrors 
#Changing 400 error pages 
$HttpErrors | % { if ($_.HttpErrorCode -eq "400") { $_.HandlerLocation = "C:\WINDOWS\help\iisHelp\common\Custom.htm" } } 

#Set updated httpserros property 
$wmi.HttpErrors = $HttpErrors 
#Save object 
$wmi.Put() 
+0

Graimer,이 작품, 내가 도움을 주셔서 감사 잘못가는 곳에 내가 볼 주셔서 감사합니다. –

+0

np :). 'get-member'를 제공 할 때, 객체에서'select .....'를 사용하지 마십시오. 'select'를 사용하면 지정한 속성 만 포함하는 새 객체를 만들고 ex에서 사용할 수있는 객체는 모두 만들지 않습니다. 이 wmi 개체. :-) –

관련 문제