programing

'연결-애저'라는 용어AD'가 cmdlet의 이름으로 인식되지 않습니다.

jooyons 2023. 9. 2. 08:22
반응형

'연결-애저'라는 용어AD'가 cmdlet의 이름으로 인식되지 않습니다.

Azure AD의 C# 애플리케이션에서 powershell 스크립트를 실행하고 있습니다.

DLL 참조 아래에 추가됨

  • 시스템. 관리.자동화
  • 마이크로소프트.온라인.행정부.자동화.PS 모듈.자원.
  • 마이크로소프트.온라인.행정부.자동화.PS 모듈

Runspace runspace = RunspaceFactory.CreateRunspace();
                runspace.Open();
                Pipeline pipeline = runspace.CreatePipeline();
                pipeline.Commands.AddScript("Import-Module AzureAD -Force;");
                pipeline.Commands.AddScript("$password = ConvertTo-SecureString " + "\"abc1234\"" + " -AsPlainText -Force");
                pipeline.Commands.AddScript("$Cred = New-Object System.Management.Automation.PSCredential (" + "\"abc@abc.com\"" + ", $password)");
                pipeline.Commands.AddScript("Connect-AzureAD -Credential $Cred");
                pipeline.Commands.AddScript("Get-AzureADApplication -Filter " + "\"DisplayName eq " + "\'PortalTestApp\'" + "\"");
                var result = pipeline.Invoke();

오류 가져오기:

'연결-애저'라는 용어AD'가 cmdlet, 함수, 스크립트 파일 또는 작동 가능한 프로그램의 이름으로 인식되지 않습니다.이름의 철자를 확인하거나 경로가 포함된 경우 경로가 올바른지 확인한 후 다시 시도하십시오.

PowerShell v7에 문제가 있었습니다. PS v5와 달리 설치 후 모듈을 가져와야 합니다.Import-Module AzureAD오류는 PSGallery와 같은 모듈 소스에서 설치한 후 가져오지 않은 경우와 동일합니다.

@user1638526 마이크가 언급했듯이, 당신은 Azure를 설치해야 합니다.AD 모듈 먼저.

다음 단계를 수행할 수 있습니다.

Install-PackageProvider -Name NuGet -RequiredVersion 2.8.5.201 -Force

Import-PackageProvider -Name NuGet -RequiredVersion 2.8.5.201

Install-Module AzureAD -Force

-Force는 사용자 입력 프롬프트를 억제하고 스크립트가 백그라운드에서 실행되도록 합니다.

참조:연결되지 않은 시스템에 PowerShell용 Nuget 공급자를 설치하여 PS 명령줄에서 Nuget 패키지를 설치하려면 어떻게 해야 합니까?

C#을 사용하여 PowerShell 명령 또는 PS1 파일을 호출하는 방법에 대해서는 링크 또는 다른 SO 스레드를 참조할 수도 있습니다.

이것이 도움이 되길 바랍니다!

언급URL : https://stackoverflow.com/questions/56543597/the-term-connect-azuread-is-not-recognized-as-the-name-of-a-cmdlet

반응형