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
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
-
- ExchangeOnlineManagement (>= 3.0.0)
- Microsoft.Graph.Identity.SignIns (>= 2.0.0)
- Microsoft.Graph.Users (>= 2.0.0)
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 |