我有这个脚本,我试图在组件服务中设置Com +应用程序的组件的IISIntrinsic属性。
这是我想要打勾的

这是我的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似乎没有任何影响。
我的感觉是
任何帮助将不胜感激!
我发现这个问题
上面代码中标记为# – EDIT的注释下面的行包含以下内容:
$components.SaveChanges()
这是保存对组件所做更改所必需的。
另外值得注意的是,在组件服务中,您需要刷新组件视图才能看到您的更改。
http://support.microsoft.com/default.aspx?scid=kb;EN-US;287422显示了一个值得关注的VBScript实现。 它做了一些奇怪的事情,如循环反向 – 这是否有必要或不是我不知道的。 无论如何 – 它看起来像设置值为1应该工作。