Powershell 在工作流中使用Connect PnPOnline

Powershell 在工作流中使用Connect PnPOnline,powershell,sharepoint-online,Powershell,Sharepoint Online,各位早上好,, 我在从SharePoint组检索信息时遇到问题。我在一个工作流中这样做,首先我得到所有组的列表,然后在foreach并行中使用它列出这些组的成员 问题是连接似乎没有得到维护,我的查询也没有恢复所有组 下面是一段代码: workflow GetGroup { param( [Parameter(Mandatory)] [String]$SPOSite, [System.Management.Automation.PSCredential]$SPOCr

各位早上好,, 我在从SharePoint组检索信息时遇到问题。我在一个工作流中这样做,首先我得到所有组的列表,然后在foreach并行中使用它列出这些组的成员

问题是连接似乎没有得到维护,我的查询也没有恢复所有组

下面是一段代码:

workflow GetGroup {
    param(
    [Parameter(Mandatory)]
    [String]$SPOSite,
    [System.Management.Automation.PSCredential]$SPOCreds
    )
    $KeepAlive = Connect-PnPOnline -Url $SPOSite -Credentials $SPOCreds -ReturnConnection 
    $GetGroups = Get-PnPGroup
    ForEach -Parallel -ThrottleLimit 512 ($Group in $GetGroups)
    {
       $GroupName = $Group.LoginName
       $Users = Get-PnPGroupMembers -Identity $groupName -Connection $workFlow:KeepAlive 
    } 
 }
GetGroup -SPOSite "https://xxx.sharepoint.com/sites/xx -SPOCreds (Get-Credential)
预期结果是在工作流开始时使用添加到数组中的PSCustomObject对象初始化一个数组。这张表由三部分组成:组名、组中人员的姓名、人员的电子邮件

不幸的是,该表仅部分生成,因为此处的工作流是错误的,我在主题上找不到任何内容: 无法链接“连接”参数。无法转换类型为“SharePointPnP.PowerShell.Commands”的值“SharePointPnP.PowerShell.Commands.Base.SPOnlineConnection”。 反序列化的.SharePointPNP.PowerShell.Commands.Base.SPOnlineConnection“


谢谢您的帮助。

我在类似的场景中遇到了相同的错误,这对我很有帮助。工作流正在将连接对象(
$KeepAlive
)转换为反序列化格式,因此其他cmdlet不接受该格式。您只需使用InlineScript包装这些cmdlet,或者使用PowerShell脚本运行手册而不是PowerShell工作流运行手册。

我在类似的场景中遇到了相同的错误,这对我很有帮助。工作流正在将连接对象(
$KeepAlive
)转换为反序列化格式,因此其他cmdlet不接受该格式。您只需使用InlineScript包装这些cmdlet,或者使用PowerShell脚本运行手册而不是PowerShell工作流运行手册。

这听起来比特定于PowerShell的更环保。您应该启动Fiddler或其他工具来监视活动,以查看每一层实际发生的情况。我认为这更像是一种价值问题工作流处理反序列化数据并获取序列化数据……这听起来比特定于PowerShell的更环保。您应该启动Fiddler或其他工具来监视活动,以查看每一层的实际情况。我认为这更像是一种价值问题工作流处理反序列化数据并获取序列化数据。。。