Назад | Перейти на главную страницу

Попытка установить свойства компонента приложения COM + в PowerShell

У меня есть этот сценарий, в котором я пытаюсь установить свойство IISIntrinsic для компонентов приложения в Com + в службах компонентов.

Это то, что я пытаюсь отметить

Вот мой сценарий PowerShell:

$comAdmin = New-Object -comobject COMAdmin.COMAdminCatalog

# -- Shut down the running app
$comAdmin.ShutdownApplication("MyAppName")

# -- Loop through components 
$applications = $comAdmin.GetCollection("Applications") 
$applications.Populate() 

foreach ($application in $applications)
{
    if ($application.Name -eq "MyAppName")
    {
        $components = $applications.GetCollection("Components",$application.key)
        $components.Populate()

        foreach ($component in $components)
        {

        # -- Set property
        $component.Value("IISIntrinsics") = $true

        }
        #-- EDIT - ADDING THIS LINE SOLVED THE ISSUE
        $components.SaveChanges()
    }
}

# -- Save and exit 
$applications.SaveChanges()

# -- start the application again
$comAdmin.StartApplication("MyAppName")

Установка для IISIntrinsics значения true, похоже, не оказывает никакого влияния.

Я чувствую, что

Любая помощь будет принята с благодарностью!

Я нашел проблему

Строка под комментарием, отмеченным # - РЕДАКТИРОВАТЬ в приведенном выше коде, содержит следующее:

 $components.SaveChanges()

Это было необходимо для сохранения изменений, внесенных в компоненты.

Также стоит отметить, что в службах компонентов вам необходимо обновить представление компонентов, чтобы увидеть свои изменения.

http://support.microsoft.com/default.aspx?scid=kb;EN-US;287422 показывает реализацию vbscript, на которую стоит обратить внимание. Он делает пару странных вещей, например, зацикливается в обратном направлении - мне неизвестно, нужно ли это или нет. В любом случае - похоже, установка значения 1 должна работать.