У меня есть этот сценарий, в котором я пытаюсь установить свойство 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 должна работать.