Настройки Powershell COM + - PullRequest
       15

Настройки Powershell COM +

5 голосов
/ 28 июня 2011

Я пытаюсь установить следующие значения с помощью PowerShell COMAdmin.COMAdminCatalog, но не могу найти настройки для приведенного ниже краснымЛюбая помощь будет оценена.

Value looking to set

Спасибо

Ответы [ 2 ]

5 голосов
/ 29 июня 2011

О рассматриваемых свойствах см. свойство аутентификации и свойство AccessLevelChecks для коллекции приложений в COM + Административные коллекции .

Пример VBScript о том, как установить свойство Уровень аутентификации, см. В ответе на изменение идентификатора существующих приложений COM + с помощью сценария vbs .

Преобразование в 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()
4 голосов
/ 03 августа 2012

На этот вопрос уже был дан ответ, но вот мой скрипт "Создать новое приложение 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"
}
...