Я хочу добавить/редактировать права пользователя удаленно в Hyper-V с помощью C#. Я знаю, что поставщик WMI полезен только для получения информации от Hyper-V, но мне нужно некоторое решение для записи данных в Hyper-V. Есть ли способы решить мою проблему?Как изменить права пользователя на Hyper-V VM с помощью C#
ответ
Если вы не хотите полагаться на сторонние или альфа-библиотеки, есть один из способов участия C#: hyper v имеет очень хороший набор команд PowerShell. Просто создайте файл сценария powershell с параметром и запустите этот скрипт непосредственно из C#. Это должно быть простое решение с полной поддержкой Microsoft. Команда, которую вы можете использовать будет
Grant-VMConnectAccess
Вы можете вызвать Powershell скрипт из C# или включать в себя функции C# в подлиннике. Хорошим примером для обоих способов можно найти here
Забегая C# функции от PS
Add-Type -TypeDefinition $CalcInstance
$CalcInstance = New-Object -TypeName Calc
$CalcInstance.Add(20,30)
Построение объекта PS скрипт в C#
var powerShell = PowerShell.Create().AddScript(someScript);
Конечно это работает только в зависимости от вашей цели сценарий - powershell должен быть установлен на машинах, на которых запущено ваше приложение C# позже.
Спасибо, я попробую! – Nick
FWIW есть библиотека с открытым исходным кодом, доступная для автоматизации Hyper-V из .NET, которая обертывает вызовы WMI для вас: http://hypervlib.codeplex.com/ – Dai
@Dai Я видел этот проект раньше, но функциональность эта библиотека слишком бедна. Всего пару действий. Но тем не менее спасибо. – Nick