IIS 관리 개체의 ADSI 메서드를 사용하여 IIS 구성을 제어하는 메타베이스 속성 값을 변경할 수 있습니다. IIS의 특정 요소를 구성하려면 해당 요소와 관련된 메타베이스 키의 IIS 관리 개체를 열고, 개체에 캐시된 속성 값을 수정하고, 그 개체가 메타베이스에 수정된 값을 저장하도록 합니다.
다음은 IIS 관리 개체의 ADSI 메서드이며, 메타베이스 속성을 설정하거나 쿼리할 때 사용됩니다.
| 메서드 | 설명 |
| Get | 개체의 명명된 속성 값을 검색합니다. |
| GetDataPaths | 특정 시작 경로에 속한 메타베이스 속성의 모든 위치에 대한 경로를 검색합니다. |
| GetEx | 개체의 명명된 하나 또는 여러 값을 갖는 속성 값을 검색합니다. |
| GetInfo | 속성 값이 메타베이스에 있는 개체를 다시 로드합니다. |
| GetPropertyAttribObj | 속성의 특성이 있는 개체를 검색합니다. 그런 다음 이 개체로 ADSI 속성의 개별적인 특성을 검색할 수 있습니다. |
| Put | 개체의 명명된 속성 값을 설정합니다. |
| PutEx | 개체의 명명된 하나 또는 여러 값을 갖는 속성 값을 설정합니다. |
| SetInfo | 개체 속성 값을 메타베이스에 기록합니다. |
GetInfo 메서드는 메타베이스의 속성 값을 개체로 다시 로드합니다. GetObject 함수로 IIS 관리 개체를 하나 작성하거나 열면 메타베이스에서 해당 속성이 초기화됩니다. GetInfo 메서드를 사용하면 메타베이스에서 이러한 값을 새로 고치고, 개체에 캐시된 변경된 속성 값을 덮어씁니다. 그런 다음 Get 또는 GetEx 메서드를 사용하여 개체 속성을 검색하고 이러한 값을 변수에 할당합니다. 또한 Put과 PutEx 메서드를 사용하여 개체의 속성 값을 수정합니다.
VBScript 또는 JScript와 같은 언어에서는 IIS 관리 개체를 사용할 때 object.property 구문을 지원합니다. SetInfo 메서드를 사용하여 개체의 속성 값을 메타베이스에 기록합니다. SetInfo를 호출하면 개체에서 변경된 속성만 다시 메타베이스로 기록됩니다. SetInfo를 호출하지 않으면 변경 사항이 메타베이스에 기록되지 않습니다.
참고 메타베이스에 바인드하여 IIS 관리 개체 중 하나의 속성을 수정하면, 개체의 속성 값을 변경하는 동안에는 메타베이스는 잠기지 않습니다. 사용자가 값을 검색한 다음 이를 다시 메타베이스로 저장하기 전에 다른 프로그램에서 메타베이스를 변경할 염려가 있으므로, 프로그램에서 값을 검색하고 저장할 때까지의 시간을 최소화해야 합니다.
ADSI 속성은 개체에만 적용되고 ADSI가 아닌 속성은 메타베이스에 적용됩니다. ADSI 속성을 검색할 때는 object.property 구문을 사용해야 하지만, 메타베이스 속성을 조작할 때는 object.property 구문이나 Get과 Put 등의 ADSI 메서드를 사용할 수 있습니다.
다음 예제 VBScript 코드는 IIS 관리 개체의 ADSI 메서드를 사용하여 메타베이스 값을 변경하는 방법과, 효율성을 위해 상속된 메타베이스 속성을 사용하는 방법을 보여 줍니다. MyComputer는 IIS 가 실행 중인 컴퓨터 이름의 자리 표시자입니다.
<%
Dim WebServerObj
Dim VDirObj
'Open the object for the first virtual Web server root.
Set WebServerObj = GetObject("IIS://MyComputer/W3SVC/1/Root")
'Deny write access for all directories and files
'for the server (except those already specifically set)
'by using the Put method.
WebServerObj.Put "AccessWrite", False
'Save the changed value to the metabase.
WebServerObj.SetInfo
'Get a directory subordinate to the Web server root.
Set VDirObj = GetObject("IIS://MyComputer/W3SVC/1/Root/Vdir1/Dir1a")
'Overwrite the inherited value for write access
'by using the dot method equivalent to Put.
VDirObj.AccessWrite = True
'Save the changed value to the metabase.
VDirObj.SetInfo
%>