Не удается найти тип Microsoft.Azure.Commands.Resources.Models.ActiveDirectory.PSADPasswordCredential: - PullRequest
0 голосов
/ 04 июля 2019

Я создаю Azure Active Directory Application, используя Azure PowerShell в Visual Studio Code, следуя этой статье https://sabin.io/blog/adding-an-azure-active-directory-application-and-key-using-powershell/.

Я изменил код для использования модуля Az вместо AzureRM, но получаю исключение

New-Object : Cannot find type [Microsoft.Azure.Commands.Resources.Models.ActiveDirectory.PSADPasswordCredential]: verify that the assembly containing this type is loaded.

PowerShell

function Create-AesManagedObject($key, $IV) {

    $aesManaged = New-Object "System.Security.Cryptography.AesManaged"
    $aesManaged.Mode = [System.Security.Cryptography.CipherMode]::CBC
    $aesManaged.Padding = [System.Security.Cryptography.PaddingMode]::Zeros
    $aesManaged.BlockSize = 128
    $aesManaged.KeySize = 256

    if ($IV) {
        if ($IV.getType().Name -eq "String") {
            $aesManaged.IV = [System.Convert]::FromBase64String($IV)
        }
        else {
            $aesManaged.IV = $IV
        }
    }

    if ($key) {
        if ($key.getType().Name -eq "String") {
            $aesManaged.Key = [System.Convert]::FromBase64String($key)
        }
        else {
            $aesManaged.Key = $key
        }
    }

    $aesManaged
}


function Create-AesKey() {
    $aesManaged = Create-AesManagedObject 
    $aesManaged.GenerateKey()
    [System.Convert]::ToBase64String($aesManaged.Key)
}

#Create the 44-character key value

$keyValue = Create-AesKey

$psadCredential = New-Object Microsoft.Azure.Commands.Resources.Models.ActiveDirectory.PSADPasswordCredential

$startDate = Get-Date

$psadCredential.StartDate = $startDate

$psadCredential.EndDate = $startDate.AddYears(1)

$psadCredential.KeyId = [guid]::NewGuid()

$psadCredential.Password = $KeyValue

$ApplicationURI = "https://xxx.xxx/xxxx"
New-AzADApplication –DisplayName “MyNewApp2”`

                         -HomePage $ApplicationURI `

                         -IdentifierUris $ApplicationURI `

                         -PasswordCredentials $psadCredential

$keyValue | out-file “c:\someplace\keyvalue.txt”

Мне нужно знать, как заменить

 $psadCredential = New-Object Microsoft.Azure.Commands.Resources.Models.ActiveDirectory.PSADPasswordCredential

с чем-то совместимым и работающим в Az модуле

Ответы [ 3 ]

1 голос
/ 05 июля 2019

Попробуйте этот код $psadCredential = New-Object Microsoft.Azure.Commands.ActiveDirectory.PSADPasswordCredential с артикулом .

enter image description here

Результат приведен ниже: enter image description here

0 голосов
/ 04 июля 2019

Вы можете использовать:

Microsoft.Azure.Commands.ActiveDirectory.PSADPasswordCredential

и его можно импортировать с помощью

Import-Module Az.Resources
0 голосов
/ 04 июля 2019

Попробуйте использовать New-AzureRmADAppCredential вместо New-Object Microsoft.Azure.Commands.Resources.Models.ActiveDirectory.PSADPasswordCredential.

Ссылка: https://github.com/Azure/azure-powershell/issues/4491

РЕДАКТИРОВАТЬ __________________________________________________

Если вы решите,Вы можете разрешить псевдонимам работать с новым модулем AZ и по-прежнему использовать старые имена командлетов.Ссылка: https://docs.microsoft.com/en-us/powershell/azure/migrate-from-azurerm-to-az?view=azps-2.4.0

Но я думаю, что это, возможно, то, что вы ищете.New-AzADAppCredential

Ссылка: https://docs.microsoft.com/en-us/powershell/module/az.resources/new-azadappcredential?view=azps-2.4.0

...