Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added M365 connections to shared #2090

Open
wants to merge 22 commits into
base: main
Choose a base branch
from

Conversation

iserrano76
Copy link
Contributor

Issue:
Added two functions to Shared in case any script needs a connection to M365.
One function for Exchange Online another function for AzureAD

Reason:
Unify the way we connect to M365.

Fix:
Both functions will do the following:

  • Verify if the module is installed, if not, install it after request confirmation.
  • Verify if the module is loaded, if not, load it.
  • Lastly, verify if any connection is present (we verify only one connection is present); if none, we offer to connect.
    Important: we do not disconnect at anytime we just verify if we have an active session

@iserrano76 iserrano76 requested a review from a team as a code owner May 9, 2024 14:05
Shared/Connect-M365.ps1 Outdated Show resolved Hide resolved
Shared/Connect-M365.ps1 Outdated Show resolved Hide resolved
Shared/Connect-M365.ps1 Outdated Show resolved Hide resolved
Shared/Connect-M365.ps1 Outdated Show resolved Hide resolved
Shared/Connect-M365.ps1 Outdated Show resolved Hide resolved
Shared/Connect-M365.ps1 Outdated Show resolved Hide resolved
Shared/Connect-M365.ps1 Outdated Show resolved Hide resolved
Shared/Connect-M365.ps1 Outdated Show resolved Hide resolved
Shared/Connect-M365.ps1 Outdated Show resolved Hide resolved
Shared/Connect-M365.ps1 Outdated Show resolved Hide resolved
Copy link
Contributor

@lusassl-msft lusassl-msft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting changes as there are a few things that should be changed (see comments).

Copy link
Member

@dpaulson45 dpaulson45 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please address all open comments then let me know when this is ready for the next review.

Shared/Connect-M365.ps1 Outdated Show resolved Hide resolved
Shared/Connect-M365.ps1 Outdated Show resolved Hide resolved
Shared/Connect-M365.ps1 Outdated Show resolved Hide resolved
Shared/ModuleHandle.ps1 Show resolved Hide resolved
Copy link
Member

@dpaulson45 dpaulson45 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There might be some more things that I find later on, but here is a good starting point to address.

Shared/M365/EXOConnection.ps1 Show resolved Hide resolved
Shared/M365/EXOConnection.ps1 Outdated Show resolved Hide resolved
Shared/ModuleHandle.ps1 Show resolved Hide resolved
Shared/M365/GraphConnection.ps1 Outdated Show resolved Hide resolved
Shared/ModuleHandle.ps1 Outdated Show resolved Hide resolved
Shared/M365/GraphConnection.ps1 Outdated Show resolved Hide resolved
Shared/M365/GraphConnection.ps1 Show resolved Hide resolved
Shared/M365/EXOConnection.ps1 Show resolved Hide resolved
Shared/ModuleHandle.ps1 Show resolved Hide resolved
Shared/M365/EXOConnection.ps1 Show resolved Hide resolved
@dpaulson45
Copy link
Member

We should also look into adding pester testing here as well.

@iserrano76
Copy link
Contributor Author

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@iserrano76
Copy link
Contributor Author

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@iserrano76
Copy link
Contributor Author

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Shared/M365/EXOConnection.ps1 Outdated Show resolved Hide resolved
Shared/M365/EXOConnection.ps1 Show resolved Hide resolved
Shared/M365/EXOConnection.ps1 Show resolved Hide resolved
Shared/M365/GraphConnection.ps1 Outdated Show resolved Hide resolved
Shared/M365/GraphConnection.ps1 Outdated Show resolved Hide resolved
Shared/M365/GraphConnection.ps1 Outdated Show resolved Hide resolved
@iserrano76
Copy link
Contributor Author

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@iserrano76
Copy link
Contributor Author

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Member

@dpaulson45 dpaulson45 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Almost ready to go, after we get the next commit, let's also rebase this down to a single commit.

Shared/ModuleHandle.ps1 Show resolved Hide resolved
}
$installed = Get-InstalledModule @getParams

if ($null -eq $installed -or $installed.Name -notcontains $module) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we did find the module with the version that we are looking for, we should do Write-Verbose here that states at least the version to know if it is something newer and possibly something changed with the cmdlets that broke something.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants