Automating with PowerShell: A much better partner portal

This is my super secret project that I have been working on for some weeks. A lot of my time outside of work was sunk into this effort. Somewhere last year I made a post about a better partner portal. This was super well received and I got a lot of amazing feedback on it.

3 or 4 weeks ago I also got an e-mail from another MSP about tooling, and how everyone and everything seems to have this extremely slow development around M365 tools. Microsoft Partners are waiting for Lighthouse, they’re waiting for RMM tools to catch up, or they are using a tool that is not evolving or asking for Global Admins without MFA…

I kind of got sick of this, so these last three weeks I deep dove into M365, into the issues we’ve had and decided to make an open source solution for this. A solution that solves the major gripes we all have with current partner administration. Stuff like creating shared mailboxes or converting them for our managed tenants, or applying a specific set of standards, There’s an entire list of items that you can find on the Github page here.

CIPP – CyberDrain Improved Partner Portal

So I’d love to introduce you to CIPP, CIPP is an easier way to manage Microsoft365 in a multitenant environment, with loads of automation.

I’ve also created a single click installation, all you need to do is enter some M365 information and off you go. You’ll be able to deploy this and use the application. Check out the instructions here.

Seeing as most of us are very visual beings, I’ve included some screenshots so you can see how the application works. The Wizards make it extremely simple to do stuff like deploying a standard to all your tenants, or even deploying a Intune app everywhere at once.

I’m hoping other people will contribute too, and even ask some friends to assist. I hope you all enjoy this project, and as always, Happy PowerShelling πŸ™‚


  1. Ricky October 14, 2021 at 5:30 pm

    I think this calls for a video on your youtube channel.

  2. Dan October 15, 2021 at 12:05 am

    Very excited to use this and appreciate the time you’re putting into things. Thanks heaps

  3. SimplifyMSP October 15, 2021 at 7:38 am

    Thank you for this! One small question, though, can you share the total monthly cost accrued from your average utilization of Azure Static Web Apps, Functions and KeyVault? Thanks again!

    1. Kelvin Tegelaar October 15, 2021 at 8:38 am

      To be honest it really depends on usage, a one person team vs 50 will make a huge impact. a rough guesstimate is 20-30 dollars for an instance.

  4. Jason Breidenbaugh October 26, 2021 at 6:55 pm

    I attempted to deploy CIPP to Azure and one of the components failed to install. Unfortunately I don’t remember which one. I tried to redeploy and it failed so I remove everything I could find to do with this and now when I try and deploy again I get the following error.

    {“code”:”InvalidTemplateDeployment”,”details”:[{“code”:”ValidationForResourceFailed”,”message”:”Validation failed for a resource. Check ‘Error.Details[0]’ for more information.”,”details”:[{“code”:”ValidationForResourceFailed”,”message”:”The provided token is not associated with an admin user for this repository.”}]}],”message”:”The template deployment ‘Microsoft.Template-20211026102220’ is not valid according to the validation procedure. The tracking id is ‘b0e0d055-9d94-450f-80a9-bb09a6c4a342’. See inner errors for details.”}

    Any help would be greatly appreciated.

      1. Jason Breidenbaugh October 26, 2021 at 8:17 pm

        Thanks for the quick responds.

        Now one of the resources during the deployment is failing.

        4c023b14-e567-5c22-89b4-fa7e77948ec0 Microsoft.Authorization/roleAssignments BadRequest

      2. Jason Breidenbaugh October 26, 2021 at 8:18 pm

        {“code”:”DeploymentFailed”,”message”:”At least one resource deployment operation failed. Please list deployment operations for details. Please see for usage details.”,”details”:[{“code”:”PrincipalNotFound”,”message”:”Principal 89e7234b70c2452d980ab787ab087f28 does not exist in the directory bc6a1cdb-f3c5-439b-9338-ee6b65e4452d.”}]}

      3. Jason Breidenbaugh October 26, 2021 at 9:57 pm

        Everything seems to be working even though I got the error….

      4. Timo Rothweiler February 17, 2022 at 11:23 am

        I seem to miss the relevant part of the documentation as well, as to what to change where.
        Your link is not working (anymore). Can you give me a hint?

  5. dan November 3, 2021 at 1:23 am

    I managed to get past a bunch of issues but I cannot get past

    This page isn’t “My URL” redirected you too many times.
    Try clearing your cookies.

    I did some googling which lead me down the path of CDN and then things to change but its empty and that’s where my knowledge starts to dry up

  6. Pablo November 4, 2021 at 4:55 am

    Hi Kelvin,

    Firstly I can’t thank you enough for everything you do for the community, and I’m sure I speak for a lot of us.

    I’ve got a question though, for some reason we can’t see our own company under tenants. We can see and manage all our clients, but ours doesn’t show up. Is this the expected behaviour or do you know what we might have done wrong?


  7. John November 7, 2021 at 1:44 pm

    Hi Kelvin,
    Thanks for such a great tool. The toolset is already incredibly impressive and the standards reports are in themselves worth the time to get it all set up and running.
    I’ve got it all set up and working but a few client tenants generate errors when trying to connect. The error says to look in the logs but I can’t see where they would be found?

  8. Carlos Perez November 16, 2021 at 8:09 pm

    Hi – Got everything up and running with the instructions. While looking at the reports, the Mailbox Statistics shows the UPN/DislayName as GUIDS instead of the actual emails. The report is correct in the Mailbox List Report. It’s only the Mailbox Statistics report. Not sure what it could be. Thanks for a great tool !

  9. Pingback: Microsoft 365 Management Software for MSPs: CyberDrain CIPP Gains Early Adopters - ChannelE2E

  10. Andrew HUSSEY December 1, 2021 at 7:26 pm

    Instructions link needs an update ! πŸ™‚

  11. Wallace December 10, 2021 at 12:04 am

    anyway to add my own tenant (I see all my clients but not mine)

Leave a comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.