Просто чтобы управлять ожиданиями, я новичок в PowerShell и функциях Azure.
Поскольку Azure Functions 2.x больше не поддерживает PowerShell, поэтому я пытаюсь запустить свои скрипты PowerShell, для которых требуются модули SPO из C # (код ниже). У меня возникают проблемы с запуском приложения-функции Azure, поскольку для скриптов PowerShell нужны модули SPO. Кто-нибудь, кто знает, как установить необходимые модули в C # PowerShell Instance, например Runspace или что-то подобное? Я даже на правильном пути здесь? Любые комментарии высоко ценятся. Спасибо всем.
Пример кода:
[FunctionName("TestFunction")]
public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
{
using (PowerShell PowerShellInstance = PowerShell.Create())
{
var script = @"
Install-Module Microsoft.Online.SharePoint.PowerShell
Install-Module SharePointPnPPowerShellOnline
$url = '<SharePoint Url>'
$ListName = '<List Name>'
Connect-PnPOnline -Url $url -UseWebLogin
$Fields = Get-PnPField -List $ListName
$Items= Get-PnPListItem -List $ListName -PageSize 5000
$RowCtr = 1;
foreach($item in $items.FieldValues)
{
#do something
$RowCtr++;
}
";
PowerShellInstance.AddScript(script);
var results = PowerShellInstance.Invoke();
//some other codes
}
}