Users moved from G Suite to Microsoft 365
A mid-size fintech company, with 99.9% uptime during the migration.
I set up, secure and automate Microsoft environments, so your team stops doing by hand what a script can do.
Runs in your browser. Nothing is sent anywhere.
A tenant that's set up properly from the start, or finally straightened out: domains, licensing and admin roles you can actually explain.Microsoft 365 admin center · licensing · compliance policies
Moving from Google Workspace or another tenant, planned so people keep working while it happens.Google Workspace → Microsoft 365 · Exchange Online · OneDrive
MFA and access rules that block what they should and don't lock out the people who need to work.Entra ID · Conditional Access · Intune
New hire, leaver, licence change: if your team repeats it every week, it should be a workflow.PowerShell · Power Automate · Microsoft Graph
Rules for who creates what and who sees what, before you end up with 400 teams and no idea who owns them.Teams governance · SharePoint · OneDrive permissions
From the first sketch to a site that's live, fast and yours. Hebrew or English, on phones first.
A site that explains what you do, earns trust and brings in enquiries, with forms that reach you directly.
Design · build · domain and hosting · contact forms · search basics
Get a site for my businessA portfolio, a personal project, an event or a page about you, made to look like you and not like a template.
Portfolios · personal pages · events · projects
Get a personal siteLive software, built and run by me. Open any of them, or talk to me about using one, including current deals.
A mid-size fintech company, with 99.9% uptime during the migration.
Licensing and user onboarding automated with PowerShell for a global NGO.
Conditional Access and MFA policies rolled out across several tenants.
Disabled accounts that still hold a licence are money you pay every month for nobody. This read-only script lists them.
# Requires the Microsoft.Graph PowerShell module. Reads only, changes nothing. Connect-MgGraph -Scopes "User.Read.All" Get-MgUser -All -Property DisplayName,UserPrincipalName,AccountEnabled,AssignedLicenses | Where-Object { -not $_.AccountEnabled -and $_.AssignedLicenses.Count -gt 0 } | Select-Object DisplayName,UserPrincipalName
Before you remove anything, check for shared mailboxes and accounts kept on purpose. Want it to run on its own every month? That's the kind of thing I build.
I'm an independent Microsoft 365 consultant. I work on tenant setups, user automation, cloud security and governance for businesses of all sizes.
You talk to the person doing the work. Whether it's a migration, a cleanup or something that broke this morning, I'd rather leave you with something simple your team can run than something only I understand.
Typical response time: within 24 hours.