【问题标题】:Script hangs when assing get msol request to a variable向变量分配 get msol 请求时脚本挂起
【发布时间】:2020-01-02 10:20:05
【问题描述】:

我已经完成了一个在共享点站点中创建文件夹结构的脚本。

首先我创建了一个没有 gui 的后端脚本,它工作得很好,它可以创建和修改文件夹。

因此,我使用 System.Windows.Forms api 添加了一个基本前端。我添加了一个表单和一些控件,如按钮和标签,当我运行脚本时它挂起。它成功连接到在线共享点,但我意识到当调用 get-SPOSite 或 get-SPOUser 之类的 cmdlet 时,我将返回分配给它挂起的变量。否则,如果我调用像 Connect-SPOService 这样的 cmdlet,它可以正常工作。 主要问题是脚本挂起并且没有返回任何异常,它只是挂起,我必须关闭 powershell ise。似乎问题是何时必须将返回值分配给变量。例如,在第一句话中,我有一个管道来过滤结果,如果我调试我可以看到所有返回的站点,get-SPOSite 可以工作,但在最后一个结果之后它挂起,永远不要将值分配给变量。

有人知道会发生什么吗?

<# THis code works ok #>
 try{        
    Connect-SPOService -Url $adminUrl 
    return $True
}
catch{
    return $False
}
<# THis code Fail #>
try{        
    $siteExists = get-SPOSite | where{$_.url -eq $sitePath}
    <# or nextfail to #>
    $sites = Get-SPOSite -Limit All
    return $True
}
catch{
    return $False
}

【问题讨论】:

    标签: powershell sharepoint-online


    【解决方案1】:

    尝试(返回后脚本不会运行)。

    $result=$False
    try{        
        Connect-SPOService -Url $adminUrl 
        $result=$True
    }
    catch{
        return $False
    }    
    try{        
        $siteExists = get-SPOSite | where{$_.url -eq $sitePath}        
        $sites = Get-SPOSite -Limit All
        $result=$True
    }
    catch{
        return $False
    }
    return $result
    

    【讨论】:

      猜你喜欢
      • 2020-11-21
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 2017-03-16
      • 1970-01-01
      相关资源
      最近更新 更多