首页 > 解决方案 > Azure 自动化 Runbook 将输出/结果导出到 csv 文件

问题描述

运行以下代码以使用自动化运行手册获取我们在 AD 中拥有的 Azure 用户的信息。下面是我用来获取 Azure AD 用户的代码。

如何将 Runbook 中的输出保存到 csv 文件?

如果有人遇到类似问题或知道如何解决,请告诉我

# Get Azure Run As Connection Name
$connectionName = "AzureRunAsConnection"
# Get the Service Principal connection details for the Connection name
$servicePrincipalConnection = Get-AutomationConnection -Name $connectionName         

# Logging in to Azure AD with Service Principal
"Logging in to Azure AD..."
Connect-AzureAD -TenantId $servicePrincipalConnection.TenantId `
    -ApplicationId $servicePrincipalConnection.ApplicationId `
    -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint

"List Tenant Org Details:"
Get-AzureADTenantDetail | Select DisplayName, Street, PostalCode, City, CountryLetterCode


Get-AzureADUser -All $true | where-Object { $_.DisplayName -cmatch '^[a-j,A-J]'} | select DisplayName,UserPrincipalName,Department

Get-AzureADUser -All $true | where-Object { $_.DisplayName -cmatch '^[k-t,K-T]'} | select DisplayName,UserPrincipalName,Department

Get-AzureADUser -All $true | where-Object { $_.DisplayName -cmatch '^[u-z,U-Z]'} | select DisplayName,UserPrincipalName,Department

我应该对我的脚本进行哪些更改以允许我将输出保存到 csv 文件中?

标签: azureazure-active-directoryazure-automationazureportalazure-runbook

解决方案


您可以使用export-csvPowerShell cmdlet 将 PowerShell cmdlet 输出导出到 csv 文件。

以下是export-csv cmdlet 的常用语法:

Export-Csv [[-Path] <string>] [[-Delimiter] <char>] -InputObject <psobject> [-LiteralPath <string>] [-Force] [-NoClobber] [-Encoding <string>] [-Append] [-NoTypeInformation] [-WhatIf] [-Confirm] [<CommonParameters>]

我们已将上述一组单独的 cmdlet(Get-AzureADuser -All $true) 更改为以下并-or为它们添加了条件。

Get-AzureADUser | where-Object { {$_.DisplayName -cmatch '^[a-j,A-J]'} -or{ $_.DisplayName -cmatch '^[k-t,K-T]'} -or { $_.DisplayName -cmatch '^[u-z,U-Z]'}} | select DisplayName,UserPrincipalName,Department | Export-Csv C:\usersslist.csv

这是上述 PowerShell cmdlet 的示例输出

在此处输入图像描述


推荐阅读