【发布时间】:2011-09-24 10:21:05
【问题描述】:
我正在尝试使用 powershell COMAdmin.COMAdminCatalog 设置以下值,但我找不到以下红色的设置。任何帮助将不胜感激。
谢谢
【问题讨论】:
标签: powershell com+
我正在尝试使用 powershell COMAdmin.COMAdminCatalog 设置以下值,但我找不到以下红色的设置。任何帮助将不胜感激。
谢谢
【问题讨论】:
标签: powershell com+
对于有问题的属性,请参阅Authentication property 和 AccessLevelChecks property 下的 Applications Collection COM+ Administration Collections。
有关如何设置身份验证级别属性的 VBScript 示例,请参阅changing existing COM+ applications identity via vbs script 的答案。
转换为 PowerShell 应该相当简单。这是我的猜测:
$comAdmin = New-Object -comobject COMAdmin.COMAdminCatalog
$apps = $comAdmin.GetCollection("Applications")
$apps.Populate();
$app = $apps | Where-Object {$_.Name -eq "MyAppName"}
# Set Authentication to Packet Authentication
$app.Value("Authentication") = 4
# Set Security Level to Process and Component level
$app.Value("AccessChecksLevel") = 1
$apps.SaveChanges()
【讨论】:
这已经得到解答,但这是我的“创建新的 COM+ 应用程序并设置属性”脚本。
$comAdmin = New-Object -comobject COMAdmin.COMAdminCatalog
$apps = $comAdmin.GetCollection("Applications")
$apps.Populate();
$newComPackageName = "MyFirstCOMPackage"
$appExistCheckApp = $apps | Where-Object {$_.Name -eq $newComPackageName}
if($appExistCheckApp)
{
$appExistCheckAppName = $appExistCheckApp.Value("Name")
"This COM+ Application already exists : $appExistCheckAppName"
}
Else
{
$newApp1 = $apps.Add()
$newApp1.Value("Name") = $newComPackageName
$newApp1.Value("ApplicationAccessChecksEnabled") = 0 <# Security Tab, Authorization Panel, "Enforce access checks for this application #>
$saveChangesResult = $apps.SaveChanges()
"Results of the SaveChanges operation : $saveChangesResult"
}
【讨论】: