0

使用 powershell 命令我想重置服务主体客户端密码。

我按照文章https://docs.microsoft.com/en-us/powershell/azure/create-azure-service-principal-azureps?view=azps-5.8.0中的以下步骤操作, 但它没有重置密码

Remove-AzADSpCredential -DisplayName ServicePrincipalName
$newCredential = New-AzADSpCredential -ServicePrincipalName ServicePrincipalName

你能告诉我我做错了什么吗?我只想重置秘密并拥有一个新的

我执行了上述命令,然后我去了该服务主体的应用程序注册,在那里我去了证书和秘密,我看到它没有创建新的秘密。

使用 bash 我可以通过执行以下命令来重置密码,但我希望使用 powershell 命令来完成

az ad sp credential reset --name
4

1 回答 1

2

我去了那个服务主体的应用程序注册,在那里我去了证书和秘密,我看到它没有创建新的秘密。

好吧,实际上该命令New-AzADSpCredential确实为您创建了一个新秘密。首先,您需要了解应用注册(AD App)和服务主体之间的关系,请参阅Azure Active Directory 中的应用程序和服务主体对象

简而言之,服务主体是特定租户中 AD 应用程序的本地表示。为服务主体创建密钥时,它不会出现在Certificates & secrets刀片中,您只需使用Get-AzADSpCredential.

Remove-AzADAppCredential如果您想重置您可以在门户中找到的密码,您需要通过和重置 AD 应用程序(即应用注册)的密码New-AzADAppCredential

您可以参考下面的示例,它使用 value 重置一个 secret,ce96a0ed-5ae8-4a5a-9b3c-630da9ea3023有效期为一年,您可以在门户中找到它。

$obj = (Get-AzADApplication -DisplayName joyappv2).ObjectId
Remove-AzADAppCredential -ObjectId $obj -Force
$azurePassword = ConvertTo-SecureString "ce96a0ed-5ae8-4a5a-9b3c-630da9ea3023" -AsPlainText -Force
$date = Get-Date
$newCredential = New-AzADAppCredential -ObjectId $obj -Password $azurePassword -StartDate $date -EndDate $date.AddYears(1)

注意:创建后无法再次获取密值,请在创建时保存。

于 2021-04-26T08:06:35.677 回答