StevesScriptorium

1.0.1

M365 helpdesk toolkit for user lifecycle, tenant auditing, mailbox management, MFA and Exchange. Built for MSP engineers.

Minimum PowerShell version

5.1

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name StevesScriptorium

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name StevesScriptorium

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) 2026 Stephen Vella (email@stephenvella.work). All rights reserved.

Package Details

Author(s)

  • Stephen Vella

Tags

M365 Microsoft365 Exchange Helpdesk MSP Entra PowerShell Toolkit MFA Offboarding Onboarding

Functions

toolkit new-user offboard-user set-userlicence get-userreport get-allusers get-inactiveusers get-mfaaudit get-guestaudit get-signinlogs get-tenantreport check-mailflow get-sharedmailboxaudit set-forwarding remove-forwarding get-mailboxperms get-userperms add-mailboxperms disable-autocalevents get-groupmembers kill-graph get-smsmfa set-smsmfa add-smsmfa add-tap remove-taps inherit-permissions

Dependencies

Release Notes

1.0.1 — Fixed: toolkit dispatch crash on [ordered] hashtables (.Contains vs .ContainsKey). Fixed: broken LicenseUri/ProjectUri (repo slug). Trimmed FunctionsToExport to match shipped scripts. Added: get-inactiveusers, hardened Publish.ps1.

FileList

  • StevesScriptorium.nuspec
  • .claude\settings.local.json
  • .git\COMMIT_EDITMSG
  • .git\FETCH_HEAD
  • .git\HEAD
  • .git\ORIG_HEAD
  • .git\config
  • .git\description
  • .git\filter-repo\already_ran
  • .git\filter-repo\changed-refs
  • .git\filter-repo\commit-map
  • .git\filter-repo\first-changed-commits
  • .git\filter-repo\ref-map
  • .git\filter-repo\suboptimal-issues
  • .git\hooks\applypatch-msg.sample
  • .git\hooks\commit-msg.sample
  • .git\hooks\fsmonitor-watchman.sample
  • .git\hooks\post-update.sample
  • .git\hooks\pre-applypatch.sample
  • .git\hooks\pre-commit.sample
  • .git\hooks\pre-merge-commit.sample
  • .git\hooks\pre-push.sample
  • .git\hooks\pre-rebase.sample
  • .git\hooks\pre-receive.sample
  • .git\hooks\prepare-commit-msg.sample
  • .git\hooks\push-to-checkout.sample
  • .git\hooks\sendemail-validate.sample
  • .git\hooks\update.sample
  • .git\index
  • .git\info\exclude
  • .git\info\refs
  • .git\logs\HEAD
  • .git\logs\refs\heads\ci\pester-and-actions
  • .git\logs\refs\heads\docs\sonnet-handoff
  • .git\logs\refs\heads\feat\judgment-commands
  • .git\logs\refs\heads\feat\pr-a-system-auth
  • .git\logs\refs\heads\feat\pr-b-forwarding
  • .git\logs\refs\heads\feat\pr-c-mailbox-perms
  • .git\logs\refs\heads\feat\pr-e-mfa
  • .git\logs\refs\heads\fix\script-portability
  • .git\logs\refs\heads\main
  • .git\logs\refs\remotes\origin\HEAD
  • .git\logs\refs\remotes\origin\ci\pester-and-actions
  • .git\logs\refs\remotes\origin\docs\sonnet-handoff
  • .git\logs\refs\remotes\origin\feat\judgment-commands
  • .git\logs\refs\remotes\origin\feat\pr-a-system-auth
  • .git\logs\refs\remotes\origin\feat\pr-b-forwarding
  • .git\logs\refs\remotes\origin\feat\pr-c-mailbox-perms
  • .git\logs\refs\remotes\origin\feat\pr-e-mfa
  • .git\logs\refs\remotes\origin\fix\script-portability
  • .git\logs\refs\remotes\origin\main
  • .git\objects\02\c525fa9f3cd04aed81ffda8b292ffddc77a71d
  • .git\objects\08\abe71bb9a4c200d36f07b74a9e15141bdb61b2
  • .git\objects\10\f925c702f08bfe89e9798cea301080beaea80b
  • .git\objects\1d\7ece1f803b0c4bc8a4d12fc15dfc916e0eeb11
  • .git\objects\21\784a5a302312dc7148db77695fa6eb7e9a6546
  • .git\objects\27\1f0d3457ba7a8e01ee7188d181a9e992c7ede3
  • .git\objects\2a\8a2e7a9861664bab4a99c3264a77c598371911
  • .git\objects\33\f89e24916d4496625b451994a9b559118d0db6
  • .git\objects\46\8770cfb7cea0e7a70cf6dedd7b1bdb39d042da
  • .git\objects\5b\99e1822e659eb60510c9955a8cd8d592d9abee
  • .git\objects\68\8bdee100caec9a3acee689f065777b9d4e16e7
  • .git\objects\6b\12cb3bd69ce9c51c8fe59d68bde4d7647d6a80
  • .git\objects\6b\601df4fbe595b6989610dc1e99b80abd7beb3b
  • .git\objects\6c\c7dac026c5829460981c8529358fe397bc1b31
  • .git\objects\70\caae8ff6ce04fbcd5675d0be1ee4b115e34451
  • .git\objects\75\bbc5c9ee2839a8a9d57c3bd4d8130d8f00ddca
  • .git\objects\8d\620c3ec6b771eb7515dd18c26dd1248aaf7739
  • .git\objects\9a\45213063ef6d85ad0dec55448831e4d6e1325c
  • .git\objects\af\288217bf3f527ec2b9fdc9acf49a2e17531699
  • .git\objects\b8\04e6d072b1674a1cc63fe37ced6d90e3212417
  • .git\objects\bd\69db0ec40a71fe81031bdfb6f5d71f2544b16e
  • .git\objects\c7\868a30daf7f41dafad6477f079e70b0ea9dcb8
  • .git\objects\cb\07d6dec23c31a9c939e08c17630f6c1403173c
  • .git\objects\d2\e2b8bccba50509959ae5e0feb99fcdc4ddddb5
  • .git\objects\dd\4f0b32cca93feb34f40b1315e1189417bb3316
  • .git\objects\dd\baeec0194331fc4141767d5e6cd0926087e8ae
  • .git\objects\e4\e809e91938afa961849380bee0f31f6c5f1e82
  • .git\objects\ea\23f06fc47317159db085ada8044c8635c8f733
  • .git\objects\eb\e18fdf518507aa81592b22851f9f93cc147961
  • .git\objects\f0\46d0f35b3ffd53c639e8dbb70dce57bbeabb00
  • .git\objects\info\commit-graph
  • .git\objects\info\packs
  • .git\objects\pack\pack-ed875f60aa581eeadaa308ea33b03cb3d7cb7a94.idx
  • .git\objects\pack\pack-ed875f60aa581eeadaa308ea33b03cb3d7cb7a94.pack
  • .git\objects\pack\pack-ed875f60aa581eeadaa308ea33b03cb3d7cb7a94.rev
  • .git\packed-refs
  • .git\refs\heads\main
  • .git\refs\remotes\origin\HEAD
  • .git\refs\remotes\origin\ci\pester-and-actions
  • .git\refs\remotes\origin\docs\sonnet-handoff
  • .git\refs\remotes\origin\feat\judgment-commands
  • .git\refs\remotes\origin\feat\pr-a-system-auth
  • .git\refs\remotes\origin\feat\pr-b-forwarding
  • .git\refs\remotes\origin\feat\pr-c-mailbox-perms
  • .git\refs\remotes\origin\feat\pr-e-mfa
  • .git\refs\remotes\origin\fix\script-portability
  • .git\refs\remotes\origin\main
  • .github\workflows\verify.yml
  • CHANGELOG.md
  • CLAUDE.md
  • Install.ps1
  • LICENSE
  • Public\add-mailboxperms.ps1
  • Public\add-smsmfa.ps1
  • Public\add-tap.ps1
  • Public\check-mailflow.ps1
  • Public\disable-autocalevents.ps1
  • Public\get-allusers.ps1
  • Public\get-groupmembers.ps1
  • Public\get-guestaudit.ps1
  • Public\get-inactiveusers.ps1
  • Public\get-mailboxperms.ps1
  • Public\get-mfaaudit.ps1
  • Public\get-sharedmailboxaudit.ps1
  • Public\get-signinlogs.ps1
  • Public\get-smsmfa.ps1
  • Public\get-tenantreport.ps1
  • Public\get-userperms.ps1
  • Public\get-userreport.ps1
  • Public\inherit-permissions.ps1
  • Public\kill-graph.ps1
  • Public\new-user.ps1
  • Public\offboard-user.ps1
  • Public\remove-forwarding.ps1
  • Public\remove-taps.ps1
  • Public\set-forwarding.ps1
  • Public\set-smsmfa.ps1
  • Public\set-userlicence.ps1
  • Publish.ps1
  • README.md
  • StevesScriptorium.psd1
  • StevesScriptorium.psm1
  • docs\SONNET_HANDOFF.md
  • replace.txt
  • tall git-filter-repo
  • tests\Module.Tests.ps1
  • toolkit-profile.ps1

Version History

Version Downloads Last updated
1.0.1 (current version) 8 5/8/2026
1.0.0 10 5/7/2026