我正在尝试使用 Powershell 自动化应用程序部署。
一个步骤要求我进入“组件服务”到“我的电脑”属性并将事务超时设置为 0。

Powershell COM+ settings 的答案对我来说似乎是最有希望的答案,但我一直无法映射事务超时设置。

查看 COM+ 管理集合页面: http://msdn.microsoft.com/en-us/library/windows/desktop/ms687763(v=vs.85).aspx 我看到有一个 LocalComputer 集合,但我无法从 LocalComputer 集合对象中检索属性集合,我猜这是事务超时属性所在的位置。

这是我的小探索代码:

$comAdmin = New-Object -com ("COMAdmin.COMAdminCatalog.1")

$applications = $comAdmin.GetCollection("LocalComputer")
$applications.Populate()

$properties = $applications.GetCollection("PropertyInfo",$application.key)
foreach ($property in $properties){
    Write-Host $property.name
}

谁能帮我设置事务超时?

更新:这个脚本至少让我获得了 TransactionTimeout 值:
$comAdmin = New-Object -com ("COMAdmin.COMAdminCatalog.1")
$LocalColl = $comAdmin.Connect("localhost")
$LocalComputer = $LocalColl.GetCollection("LocalComputer",$LocalColl.Name)
$LocalComputer.Populate()

$LocalComputerItem = $LocalComputer.Item(0)


$LocalComputerItem.Value("TransactionTimeout")

最佳答案

这是工作代码:

$comAdmin = New-Object -com ("COMAdmin.COMAdminCatalog.1")
$LocalColl = $comAdmin.Connect("localhost")
$LocalComputer = $LocalColl.GetCollection("LocalComputer",$LocalColl.Name)
$LocalComputer.Populate()

$LocalComputerItem = $LocalComputer.Item(0)
$CurrVal = $LocalComputerItem.Value("TransactionTimeout")
Write-Host "Transaction Timeout = $CurrVal"

$LocalComputerItem.Value("TransactionTimeout") = 20
$LocalComputer.SaveChanges()

我不认为这是在保存更改,因为每次我检查组件服务 |本地计算机 |属性 |事务超时它仍然是“60”,即使在我刷新了所有组件之后也是如此。我终于退出了组件服务,然后又回来了,然后它的值是“20”。

关于powershell - 使用powershell设置组件服务事务超时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20791497/

10-12 02:27