繁体   English   中英

自动化Connect-AzureAD Powershell

[英]Automate Connect-AzureAD Powershell

我使用Powershell创建了一个脚本,该脚本连接到AzureAD,并使用以下命令可以正常工作:

Connect-AzureAD -TenantId $TenantId

弹出登录窗口,我能够成功连接。 但是,我需要将脚本设置为自动运行,因此我找到了以下代码来做到这一点:

# Set Configs
$TenantId = "<tenant id>"
$AzureUser = "<user>" 
$AzurePass = Get-Content "cred.txt" | ConvertTo-SecureString

# Connect to Azure AD
$AzureCred = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $AzureUser, $AzurePass
Connect-AzureAD -TenantId $TenantId -Credential $AzureCred

但是我似乎无法使其正常工作。 我使用以下代码生成cred.txt文件:

Read-Host -assecurestring | convertfrom-securestring | out-file C:\cred.txt

运行它时,出现以下错误:

Connect-AzureAD:发生一个或多个错误。:ContentType中提供的字符集无效。 无法使用无效字符集将内容读取为字符串。 在第9行:char +1-Connect-AzureAD -TenantId $ TenantId -Credential $ AzureCred + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + CategoryInfo:AuthenticationError:(:) [Connect-AzureAD],AadAuthenticationFailedException + FullyQualifiedErrorId:Connect-AzureAD, Microsoft.Open.Azure.AD.CommonLibrary.ConnectAzureAD
Connect-AzureAD:发生一个或多个错误。 在第9行:char +1-Connect-AzureAD -TenantId $ TenantId -Credential $ AzureCred + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + CategoryInfo:AuthenticationError:(:) [Connect-AzureAD],AggregateException + FullyQualifiedErrorId:Connect-AzureAD, Microsoft.Open.Azure.AD.CommonLibrary.ConnectAzureAD
Connect-AzureAD:ContentType中提供的字符集无效。 无法使用无效字符集将内容读取为字符串。 在第9行:char +1-Connect-AzureAD -TenantId $ TenantId -Credential $ AzureCred + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + CategoryInfo:AuthenticationError:(:) [Connect-AzureAD],InvalidOperationException + FullyQualifiedErrorId:Connect-AzureAD, Microsoft.Open.Azure.AD.CommonLibrary.ConnectAzureAD
Connect-AzureAD:'“ utf-8”'不是受支持的编码名称。 有关定义自定义编码的信息,请参见Encoding.RegisterProvider方法的文档。 参数名称:名称在线:9字符:1 + Connect-AzureAD -TenantId $ TenantId -Credential $ AzureCred + ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + CategoryInfo:AuthenticationError:(:) [Connect-AzureAD],ArgumentException + FullyQualifiedErrorId: Microsoft Azure开放式AD通用库Connect.AzureAD
Connect-AzureAD:发生一个或多个错误。:ContentType中提供的字符集无效。 无法使用无效字符集将内容读取为字符串。 在第9行:char +1-Connect-AzureAD -TenantId $ TenantId -Credential $ AzureCred + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + CategoryInfo:未指定:(:) [Connect-AzureAD],AadAuthenticationFailedException + FullyQualifiedErrorId:Microsoft.Open。 Azure.AD.CommonLibrary.AadAuthenticationFailedException,Microsoft.Open.Azure.AD.CommonLibrary.ConnectAzureAD

我使用相同的脚本登录了其他租户,并且运行良好。 只是对有联盟的租户不起作用。 除了关闭联盟,还有其他解决方法吗?

我不确定为什么初始脚本无法在我们的租户上使用。 我的猜测是由于联邦。 通过执行本文,我实现了一种解决方法,并尝试使用服务主体:

将会话作为服务主体连接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM