我想使用c#/.net启动Azure-PIM
我已经找到了一个PowerShell函数来做这件事:在“PIMTools”-packages中的New-AzurePIMRequest ...:https://www.powershellgallery.com/packages/PIMTools/0.4.0.0
这工作得很好,当然我可以在我的C#应用程序中执行一个包含它的PS脚本。但我更喜欢在我的应用程序中使用NuGet-Package或库来实现相同的功能。
有没有一个包可以让我在C#中实现同样的功能?
发布于 2021-04-13 19:46:49
这些PIMTools只是包装了一些现有的powershell modules.You可以在这里查看详细信息:https://github.com/janegilring/PIMTools/blob/main/functions/New-AzurePIMRequest.ps1
如您所见,它们主要使用AzureADPreview模块,该模块提供对Microsoft Graph Endpoint的访问。Microsoft Graph是一个RESTful web API,使您能够访问Microsoft Cloud服务资源。
你可以在这里找到Graph SDK:https://github.com/microsoftgraph/msgraph-sdk-dotnet
安装了SDK后,您可以使用类似以下内容来发出PIM请求:
var graphClient = new GraphServiceClient(new DefaultAzureCredential());
var privilegedRoleAssignmentRequest = new PrivilegedRoleAssignmentRequestObject
{
Duration = "2",
Reason = "DevWork",
AssignmentState = "Active",
RoleId = "b24988ac-6180-42a0-ab88-20f7382dd24c",
};
await graphClient.PrivilegedRoleAssignmentRequests
.Request()
.AddAsync(privilegedRoleAssignmentRequest);注意:您可能必须使用/beta端点才能使PIM卡工作。但是,Microsoft Graph中/beta版本下的API可能会发生变化。不支持在生产应用程序中使用这些API。
https://stackoverflow.com/questions/67072881
复制相似问题