2016-11-14 20 views
0

Я пишу скрипт, чтобы включить флажок Обеспечить проверку доступа на уровне компонента и установить флажок перед ролью.PowerShell для включения установленного пакета безопасности COM +

Это код, который я до сих пор (изменение названия COM + приложение):

$comAdmin = New-Object -ComObject COMAdmin.COMAdminCatalog 
$apps = $comAdmin.GetCollection('Applications') 
$apps.Populate() 
$targetApp = '<appname>' 
$app = $apps | Where-Object -FilterScript { 
    $_.Name -eq $targetApp 
} 
$components = $apps.GetCollection('Components',$app.key) 
$components.Populate() 

foreach ($component in $components) 
{ 
    $componentName = $component.Name 
    $componentID = $component.Value('CLSID') 
} 



$accesschecks = $component.Value('ComponentAccessChecksEnabled') 
$component.Value('ComponentAccessChecksEnabled') = $true 
$components.SaveChanges() 




$comAdmin = New-Object -ComObject COMAdmin.COMAdminCatalog 
$apps = $comAdmin.GetCollection('Applications') 
$apps.Populate() 

$app = $apps|Where-Object -FilterScript { 
    $_.Name -eq $targetApp 
} 
$components = $apps.GetCollection('Components', $app.Key) 
$components.Populate() 
$components.GetCollection('RolesForComponent', $component.Key) 

foreach ($component in $components) 
{ 
    $component.Value('ComponentAccessChecksEnabled') = $true 
    $component.value('RolesForComponentEnabled') = #t 
    '{0,-30}{2,-10}{1}{1}' -f $component.Name, $component.Value('CLSID'), $component.Value('ComponentAccessChecksEnabled'), $component.Key 

} 
$components.SaveChanges() 

Первая часть сценариев работы, это позволяет флажок. Но вторая часть не проверяет флажок перед ролью. Она теперь выглядит следующим образом:

enter image description here

мне нужно немного помочь, чтобы получить сценарий для работы, чтобы установить флажок. Есть идеи?

ответ

0

Проверьте, можно ли установить этот флажок через реестр. Если у вас уже есть ClassId объекта COM, вы можете выполнить поиск в реестре после него. Если он хранится в реестре, вы можете изменить ключ через Set-ItemProperty.

Надеюсь, что это поможет.