2011-06-28 30 views
5

Tôi đang cố gắng đặt các giá trị sau bằng quyền hạn COMAdmin.COMAdminCatalog nhưng tôi không thể tìm thấy cài đặt cho màu đỏ bên dưới. Bất kỳ trợ giúp sẽ được đánh giá cao.Powershell COM + settings

Value looking to set

Cảm ơn

Trả lời

5

Đối với các thuộc tính trong câu hỏi thấy Authentication propertyAccessLevelChecks property cho Applications Collection dưới COM+ Administration Collections.

Để biết ví dụ về cách đặt thuộc tính Cấp xác thực, hãy xem câu trả lời cho changing existing COM+ applications identity via vbs script.

Cần khá thẳng về phía trước để chuyển đổi sang PowerShell. Đây là dự đoán của tôi:

$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() 
+0

hi, cảm ơn. tôi đã phải xác thực để 1 cho 'không' và 0 cho accesscheckslevel nhưng đã được tìm kiếm nhiều hơn cho các giá trị tôi đã phải thiết lập. – Bruce227

+0

OK, bạn có thể nhận tất cả các giá trị từ liên kết tài liệu Bộ sưu tập ứng dụng. –

+0

một trong những điều khiến tôi phát điên (với microsoft) là không có liên kết cài đặt liên tục (AccessChecksLevel) với Tab và Panel (văn bản) trên màn hình. Và bạn phải thử nghiệm để tìm ra cái nào. : < – granadaCoder

4

Điều này đã được trả lời, nhưng đây là tập lệnh "Tạo mới COM + ứng dụng và đặt thuộc tính" của tôi.

$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" 
} 
Các vấn đề liên quan