Как модифицировать приложения COM+ из powershell

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

введите здесь описание изображения

Будучи администратором Linux с небольшим опытом работы с powershell, я не в себе. Похоже, есть API для изменения приложений COM+.

https://msdn.microsoft.com/en-us/library/ms679173(v=vs.85).aspx

Из этого вопрос о stackoverflow, я зашел так далеко в изменении приложения

$comAdmin = New-Object -comobject COMAdmin.COMAdminCatalog
$apps = $comAdmin.GetCollection(“Applications”)
$apps.Populate();

Я могу увидеть свое приложение в списке, введя эту команду

$apps

введите здесь описание изображения

Можно ли изменить идентификатор приложения foobar из powershell?


person spuder    schedule 25.02.2015    source источник
comment
Я не знаю наверняка, возможно ли это и как, но если COM-объект не может этого сделать, вы можете посмотреть, есть ли способ сделать это с помощью WMI.   -  person briantist    schedule 25.02.2015


Ответы (1)


Спасибо за этот вопрос о стеке с переполнением, у меня все заработало .

$targetApp = "examplecompany"
$comAdmin = New-Object -comobject COMAdmin.COMAdminCatalog
$apps = $comAdmin.GetCollection("Applications")
$apps.Populate();
$app = $apps | Where-Object {$_.Name -eq $targetApp}
$comAdmin.ShutdownApplication($targetApp)

$app.Value("Identity") = 'example.com\exampleuser'
$app.Value("Password") = 'correct-horse-battery-staple'
$apps.SaveChanges()
$comAdmin.StartApplication($targetApp)
person spuder    schedule 25.02.2015
comment
Обновление строки $ comAdmin, ShutdownApplication завершится ошибкой, если $ app каким-то образом содержит несколько приложений, я предложил изменить редактирование вашего ответа. - person Jan H; 21.10.2015