- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 Powershell 中开发我的第一个 GUI。我过去曾在 Azure 模块中使用过小脚本,所以我更困惑为什么会出现这种情况。在下面的脚本中,有两个地方我尝试导入并使用 connect-azureread cmdlet,因此它在第二个位置进行了注释,但我在两个地方都尝试了它。该脚本旨在提供一个 GUI 来选择 UPN 的 csv,以在 azure 租户中查找其他信息并将其返回到另一个 csv 中。无论我将 connect-azuread 命令放在何处,我都会收到错误:“在调用任何其他 cmdlet 之前,您必须调用 Connect-AzureAD cmdlet。”当我运行该脚本时,它确实提示我使用标准 Microsoft 登录页面登录 Azure,但它显然不保留凭据。
这是我尝试过的代码:
Install-Module AzureAD -Force | Out-Null
Import-Module AzureAD | Out-Null
Connect-AzureAD
Add-Type -AssemblyName System.Windows.Forms
$LocationForm = New-Object system.Windows.Forms.Form
$LocationForm.ClientSize = '500,300'
$LocationForm.text = "Azure Information Pull"
$LocationForm.BackColor ='#ffffff'
$Title = New-Object System.Windows.Forms.Label
$Title.text = "Retrieving Data From Azure Tenant"
$Title.AutoSize = $true
$Title.Location = New-Object System.Drawing.Point(20,20)
$Title.Font = 'Microsoft Sans Serif,13'
$Description = New-Object System.Windows.Forms.Label
$Description.Text = "Retrieve UPN, Display Name, Email, and EmployeeID from Azure Tenant."
$Description.AutoSize = $False
$Description.Width = 450
$Description.Height = 50
$Description.location = New-Object System.Drawing.Point(20,50)
$Description.Font = 'Microsoft Sans Serif,10'
#$FileBrowser = New-Object System.Windows.Forms.OpenFileDialog
#$FileBrowser.Title = "Select a file"
#$FileBrowser.InitialDirectory = [Environment]::GetFolderPath('Desktop')
#$FileBrowser.Filter = "CSV (*.csv)| *.csv"
#$SelectedFile = $FileBrowser.FileName
Function Get-FileName()
{
[System.Reflection.Assembly]::LoadWithPartialName(“System.windows.forms”) |
Out-Null
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$OpenFileDialog.initialDirectory = [Environment]::GetFolderPath('Desktop')
$OpenFileDialog.filter = "CSV (*.csv)| *.csv"
$OpenFileDialog.ShowDialog() | Out-Null
$global:Input = $OpenFileDialog.filename
$Input
} #end function Get-FileName
$InputFileBtn = New-Object System.Windows.Forms.Button
$InputFileBtn.BackColor = '#a4ba67'
$InputFileBtn.Text = "Select File"
$InputFileBtn.Width = 90
$InputFileBtn.height = 30
$InputFileBtn.Location = New-Object System.Drawing.Point(370,250)
$InputFileBtn.Font = 'Microsoft Sans Serif,10'
$InputFileBtn.ForeColor = "#ffffff"
$InputFileBtn.Add_Click({Get-FileName})
$cancelBtn = New-Object system.Windows.Forms.Button
$cancelBtn.BackColor = "#ffffff"
$cancelBtn.text = "Finish"
$cancelBtn.width = 90
$cancelBtn.height = 30
$cancelBtn.location = New-Object System.Drawing.Point(260,250)
$cancelBtn.Font = 'Microsoft Sans Serif,10'
$cancelBtn.ForeColor = "#000"
$cancelBtn.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
$LocationForm.CancelButton = $cancelBtn
$LocationForm.Controls.AddRange(@($Title,$Description,$cancelBtn,$InputFileBtn))
[void]$LocationForm.ShowDialog()
#Begin Script
#Install-Module AzureAD -Force | Out-Null
#Import-Module AzureAD | Out-Null
#Connect-AzureAD
$OutputLocation = Split-Path -Path $global:Input
$UserList = import-csv -path $global:Input
foreach($user in $UserList){
Get-AzureADUser -ObjectID $user.upn | select UserPrincipalName,Displayname,mail, @{Name = 'EmployeeId'; Expression = {$_.ExtensionProperty.employeeId}} | export-csv "$OutputLocation\output.csv" -append -noTypeInformation}
当我已经建立连接时,我预计不会出现连接到 azure 广告模块时出现的错误。
最佳答案
我尝试在我的环境中重现相同的结果,并成功获得如下结果:
Connect-AzureAD
Add-Type -AssemblyName System.Windows.Forms
$LocationForm = New-Object system.Windows.Forms.Form
$LocationForm.ClientSize = '500,300'
$LocationForm.text = "Azure Information Pull"
$LocationForm.BackColor ='#ffffff'
$Title = New-Object System.Windows.Forms.Label
$Title.text = "Retrieving Data From Azure Tenant"
$Title.AutoSize = $true
$Title.Location = New-Object System.Drawing.Point(20,20)
$Title.Font = 'Microsoft Sans Serif,13'
$Description = New-Object System.Windows.Forms.Label
$Description.Text = "Retrieve UPN, Display Name, Email, and EmployeeID from Azure Tenant."
$Description.AutoSize = $False
$Description.Width = 450
$Description.Height = 50
$Description.location = New-Object System.Drawing.Point(20,50)
$Description.Font = 'Microsoft Sans Serif,10'
[Environment]::GetFolderPath('Desktop')
Function Get-FileName()
{
[System.Reflection.Assembly]::LoadWithPartialName(“System.windows.forms”) |
Out-Null
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$OpenFileDialog.initialDirectory = [Environment]::GetFolderPath('Desktop')
$OpenFileDialog.filter = "CSV (*.csv)| *.csv"
$OpenFileDialog.ShowDialog() | Out-Null
$global:Input = $OpenFileDialog.filename
$Input
}
$InputFileBtn = New-Object System.Windows.Forms.Button
$InputFileBtn.BackColor = '#a4ba67'
$InputFileBtn.Text = "Select File"
$InputFileBtn.Width = 90
$InputFileBtn.height = 30
$InputFileBtn.Location = New-Object System.Drawing.Point(370,250)
$InputFileBtn.Font = 'Microsoft Sans Serif,10'
$InputFileBtn.ForeColor = "#ffffff"
$InputFileBtn.Add_Click({Get-FileName})
$cancelBtn = New-Object system.Windows.Forms.Button
$cancelBtn.BackColor = "#ffffff"
$cancelBtn.text = "Finish"
$cancelBtn.width = 90
$cancelBtn.height = 30
$cancelBtn.location = New-Object System.Drawing.Point(260,250)
$cancelBtn.Font = 'Microsoft Sans Serif,10'
$cancelBtn.ForeColor = "#000"
$cancelBtn.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
$LocationForm.CancelButton = $cancelBtn
$LocationForm.Controls.AddRange(@($Title,$Description,$cancelBtn,$InputFileBtn))
[void]$LocationForm.ShowDialog()
$OutputLocation = Split-Path -Path $global:Input
$UserList = import-csv -path $global:Input
foreach($user in $UserList){
Get-AzureADUser -ObjectID $user.upn | select UserPrincipalName,Displayname,mail, @{Name = 'EmployeeId'; Expression = {$_.ExtensionProperty.employeeId}} | export-csv "$OutputLocation\output1.csv" -append -noTypeInformation}
输出文件成功导出如下:
如果连接到 Azure AD 帐户,通常会出现错误“在调用任何其他 cmdlet 之前必须先调用 Connect-AzureAD
cmdlet”没有成功。
使用以下命令尝试Connect-AzureAD
:
$credentials = Get-Credential
Connect-AzureAD -Credential $credentials
否则,请尝试按如下方式连接 Azure AD:
Connect-AzureAd -TenantId TenantID
如果问题仍然存在,请尝试重新安装 AzureAD 模块:
Uninstall-Module AzureAD
Install-Module AzureAD
Import-Module AzureAD
关于azure - 为什么我在连接到服务后收到 Connect-AzureAD 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74394753/
我已在 Powershell 版本 7 中安装了 AzureAD 模块,但无法执行 Connect-AzureAD Cmdlet。 有什么想法吗? PS C:\Users\User> Get-Inst
我有一个 WebApplication(例如 https://test.com/webapp1 处的 WebApp1)。 WebApp1 要求用户使用 AzureAD 进行身份验证(TenantId:
我正在尝试在 ADO 中的 azure powershell 任务中执行 Get-AzureADServicePrincipal。我需要获取服务主体,然后连接以获取 ServicePrincipalI
我正在尝试在 ADO 中的 azure powershell 任务中执行 Get-AzureADServicePrincipal。我需要获取服务主体,然后连接以获取 ServicePrincipalI
我想使用 Azuread Provider 创建应用程序注册,并使用 applictionid 输出作为我的应用程序服务中的配置。每次我计划时,我都会收到一条错误消息。如果我删除配置行,一切正常。 我
我正在尝试 AzureAD 试用版,以便使用 Microsoft 产品提供的 API(我也注册了高级试用版)。 我已成功注册我的 iOS 应用程序,但每当我尝试添加权限时,它都会在“选择权限”处显示雨
我已经在门户中设置了我的 AzureAD,以及一个使用 AD 来验证以下 Microsoft 说明的应用程序服务。 我制作了一个使用此授权的 .net core 应用程序。它可以在我的本地主机上运行。
我已经在门户中设置了我的 AzureAD,以及一个使用 AD 来验证以下 Microsoft 说明的应用程序服务。 我制作了一个使用此授权的 .net core 应用程序。它可以在我的本地主机上运行。
我正在开发一个管道,用于从 Azure Active Directory 检索所有条件访问策略并创建 csv 列表 我的问题是,我发现一个命令 get-azureadmsconditionalacce
RestAPI:我有一个使用 AzureAd 身份验证运行 Asp Core 的 Rest API。 WebApp:我有一个单独的 Web 应用程序,运行 Asp Core 作为后端,并使用 Java
我正在尝试使此命令在我的 MAC 操作系统上运行,甚至安装我在其他博客中找到的所有模块,例如 AzureAD、AzureADPreview。我仍然收到同样的消息。有人可以给我一些有关修复的线索吗? C
尝试通过 powershell 将一些 Azure AD 组从静态更改为动态(有 75 个组,因此我们需要以某种方式执行此操作) 最初我试图使用此脚本从 TXT 中的列表自动运行它: $groupli
我们正在使用MS Graph API,想检查某个组中用户的变化。目前我们通过以下查询获取用户: https://graph.microsoft.com/v1.0/groups/group-id/mem
我正在运行脚本以将新用户添加到 Azure AD $AzureADConnection = Connect-AzureAD $AdminEmail = $AzureADConnection.Accou
我尝试使用命令 Connect-AzureAD 通过 PowerShell 连接到 AzureAD,但单点登录时出现空白页面。 但是,当我使用命令 Connect-MsolService 时,它就像一
我们在自己的服务器上有应与 SharePoint Online 一起使用的应用程序。要访问 SP Online,我们需要拥有应用 token / secret - 这很好。 我想知道是否有可能通过此
我有一些公司网站提供一些受 Azure AD 保护的信息。这在浏览器中工作得很好,但我想在命令行上创建一些自动化。 如果我从浏览器复制 JWT 并在 Authorization: Bearer hea
如何使用 powershell 设置服务主体的回复 URL。当我检查管理门户时,以下命令不会向该字段添加任何内容。 $aa = new-AzureADApplication -DisplayName“
我有 React 前端应用程序和 AWS lambda 后端。我已经使用 MSAL 将 AzureAD 身份验证集成到我的 React 应用程序中。我想澄清一些事情 用户登录前端后,我想调用我的后端
使用 AzureAD 模块,我可以使用 Get-AzureADServicePrincipalOAuth2PermissionGrant cmdlet 检索服务主体的所有委派权限。但是,我找不到类似的
我是一名优秀的程序员,十分优秀!