You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell导出CSV前拆分WebUrl并添加UserID列的方法

实现方法

你可以通过计算属性在Select-Object中新增UserID列,利用字符串拆分或正则表达式提取所需内容,同时转成大写格式:

修改后的完整脚本

$AllSites = Get-MGSite -All
$odSites = $AllSites | Where-Object {$_.Weburl.contains("/personal/")}
$odSites | Select-Object -Property DisplayName, WebUrl, @{
    Name = 'UserID'
    Expression = {
        # 拆分URL提取指定部分并转大写
        $splitUrl = $_.WebUrl -split "/personal/"
        $userIdPart = $splitUrl[1] -split "_"
        $userIdPart[0].ToUpper()
    }
} | Export-Csv $Global:Export -NoTypeInformation

代码说明

  • 计算属性通过@{Name='列名'; Expression={处理逻辑}}定义,这里用来生成UserID列
  • 第一步用-split "/personal/"把URL拆分为两部分,取第二部分(索引为1的元素)
  • 第二步用-split "_"拆分第二部分,取第一个元素(即URL中/personal/后、_前的内容)
  • 最后用.ToUpper()将提取的内容转为大写,得到目标格式的UserID

备选方案(正则表达式)

如果URL格式固定,也可以用正则匹配实现更简洁的提取:

$odSites | Select-Object -Property DisplayName, WebUrl, @{
    Name = 'UserID'
    Expression = {
        if ($_.WebUrl -match '/personal/(\w+)_') {
            $matches[1].ToUpper()
        }
    }
} | Export-Csv $Global:Export -NoTypeInformation

正则/personal/(\w+)_会精准匹配/personal/后到第一个_之间的字母数字内容,通过$matches[1]提取目标部分并转大写。

内容的提问来源于stack exchange,提问作者aasenomad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 13:03:13