【问题标题】:Azure Functions: PowerShell Script Interacting with SharePoint OnlineAzure Functions:与 SharePoint Online 交互的 PowerShell 脚本
【发布时间】:2016-06-30 09:47:08
【问题描述】:

我正在使用 Azure Functions,特别是 PowerShell 脚本函数。我想知道如何使用与 SharePoint Online 联系的脚本。

要针对 SharePoint Online 运行,我通常会使用“SharePoint Online Management Shell”,它是预加载 SharePoint Online 库的 PowerShell 版本,以便我可以使用 Get-SPOSite 等方法。

如何将这个库包含在我的 Azure Function PowerShell 脚本中,以便我可以使用这些函数?我假设我需要在脚本顶部加载库,但是如何加载库?

我已将 DLL 上传到我的函数中并正在尝试使用:

[System.Reflection.Assembly]::LoadFrom('Microsoft.Online.SharePoint.Client.Tenant.dll')

但这似乎不起作用。我认为我的问题是我不知道上传文件的绝对路径。这是我在左侧窗格中看到的:

但是我不知道这些文件的路径是什么。

有什么想法吗?目前使用 Azure Functions 的文档非常少。

【问题讨论】:

    标签: sharepoint-online azure-functions


    【解决方案1】:

    Azure Functions 目录的路径是

    D:\home\site\wwwroot\<YourFunctionName>
    

    在最新的 Azure Functions 版本(0.3 版)中,我们支持代表您加载 DLL。您需要创建一个名为 modules 的文件夹并将 DLL 上传到该文件夹​​中。实际上,您现在可以将 脚本 (.psm1)、二进制 (.dll) 和清单 (.psd1) 模块上传到 modules 文件夹中,它们将是在执行脚本之前自动加载。

    让我们使用示例MyMathLib 程序集作为参考。

    假设您有一个名为 RunSimplePowerShell 的函数,并已将名为 MyMathLib.dll 的自定义库上传到文件夹中,如下所示,

    D:\home\site\wwwroot\RunSimplePowerShell\modules\MyMathLib.dll
    

    然后,您的名为 run.ps1 的 PowerShell 脚本位于

    D:\home\site\wwwroot\RunSimplePowerShell\run.ps1
    

    可以写成如下,

    [MyMathLib.Methods]::Sum(5, 2)
    
    $calculatorInstance= New-Object MyMathLib.Methods
    $calculatorInstance.Product(5,2)
    

    使用 Azure Functions 0.3 版,您现在可以跳过这行

    [Reflection.Assembly]::LoadFile("D:\home\site\wwwroot\RunSimplePowerShell\MyMathLib.dll")
    

    【讨论】:

      【解决方案2】:

      有点想通了。

      要查找文件的绝对路径,您可以通过访问 Azure Functions 中的控制台来实现。要进入控制台需要点击一下。从 Azure 函数内部:

      功能应用设置 -> 高级设置 -> 转到应用服务 设置 -> 工具 -> 控制台

      您将在命令提示符中看到目录名称。然后你可以使用:

      [Reflection.Assembly]::LoadFile("<directory>\MyLibraryNameHere.dll")
      

      拉入您的程序集。

      【讨论】:

        猜你喜欢
        • 2015-11-18
        • 2018-07-12
        • 2020-09-16
        • 2018-08-09
        • 1970-01-01
        • 2018-05-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多