나는 REST 웹 서비스에 액세스하기 위해 사용자 지정 Powershell Cmdlet에서 작업하고 있습니다.
webservice를 사용하려면 인증을 받아야합니다. 그러면 인증 요청 후에 모든 요청에 포함해야하는 authenticaton-token을 반환합니다.사용자 지정 Powershell Cmdlet - 숨김 액세스 가능한 변수 만들기
내가 직면하고있는 문제는 원하는 방식으로 토큰을 저장할 수 없어서 인증 후 명령에서 쉽게 사용할 수 있다는 것입니다.
Connect-MSOLService과 동일한 방식으로 작동 할 수 있다면 좋겠다.
Office 365 cmdlet에 익숙하지 않은 사용자를 위해 몇 가지 예를 제공 할 것입니다.
사무실 365 사람 cmdlet
$ 자격 증명 = 얻기-자격 증명을
연결-MSOLService -Credential $ 자격 증명은 Get-MSOLUser 반환이 예제에서는
가져 오기 - MSOLUser
모든 Office 365 사용자는 Connect-MSOLService가 직접 호출되기 때문에
내 Cmdlet를
$ 자격 증명 =
$ 토큰 = 연결-WebService를 -Credential $ 자격 증명
가져 오기 - 서버 -token $ 토큰
가져 오기 - 클라이언트 -token $ 토큰 자격 증명을 받기
위에서 알 수 있듯이 토큰을 반환하고 변수에 저장하고 인증 후 모든 호출에서 사용해야합니다.
그렇다면 Powershell 세션에 토큰을 "주입"하고 그 후에 내 cmdlet/모듈의 모든 명령에 "under-the-hood"를 사용할 수 있습니까?
감사합니다.
내가 언급 한 것을 잊어 버린 한 가지는 C#으로 Cmdlet을 작성하고 있다는 것입니다. C# 코드 내의 전역 변수에 변수를 주입 할 수 있는지 확인합니다. – Keb
몇 가지 생각을하고 난 후에도 전역 변수에 토큰 인을 가져올 수 있다고하더라도 Get-Service -token $ token과 같은 명령을 수행해야하지만 사용자의 제안에 감사드립니다. – Keb
저는 PowerShell에도 스크립트 유효 범위 변수가 있다는 것을 기억했습니다. C# Cmdlet 내에서 어떻게 작동하는지 알지 못합니다. PowerShell이 아닌 C#으로 작성하는 특별한 이유가 있습니까? –