<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rick Hoekstra</title><link>https://rickhoekstra.com/</link><description>Recent content on Rick Hoekstra</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 12 Nov 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://rickhoekstra.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Getting started with Microsoft Graph PowerShell</title><link>https://rickhoekstra.com/posts/connect-microsoft-graph-powershell/</link><pubDate>Thu, 12 Nov 2026 00:00:00 +0000</pubDate><guid>https://rickhoekstra.com/posts/connect-microsoft-graph-powershell/</guid><description>&lt;div class="alert alert-note"&gt;&#10; &lt;p class="alert-title"&gt;Note&lt;/p&gt;&#10; &lt;p&gt;This is a sample post that shows what an article looks like. Replace or delete it when you publish your own.&lt;/p&gt;&#10;&lt;/div&gt;&lt;p&gt;Most Microsoft 365 administration that goes beyond the admin portals ends up in Microsoft Graph. This post walks through the first steps: installing the module, signing in and reading some data.&lt;/p&gt;&#10;&lt;h2 id="install-the-module"&gt;Install the module&lt;/h2&gt;&#10;&lt;p&gt;Open PowerShell and install the module for your own user account:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Install-Module&lt;/span&gt; &lt;span class="n"&gt;Microsoft&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;Graph&lt;/span&gt; &lt;span class="n"&gt;-Scope&lt;/span&gt; &lt;span class="n"&gt;CurrentUser&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="sign-in-with-the-right-scopes"&gt;Sign in with the right scopes&lt;/h2&gt;&#10;&lt;p&gt;Graph works with permission scopes. Ask only for what you need for the task at hand:&lt;/p&gt;</description></item><item><title>A simple VLAN plan for a small office on UniFi</title><link>https://rickhoekstra.com/posts/unifi-vlan-plan-small-office/</link><pubDate>Sun, 08 Nov 2026 00:00:00 +0000</pubDate><guid>https://rickhoekstra.com/posts/unifi-vlan-plan-small-office/</guid><description>&lt;div class="alert alert-note"&gt;&#10; &lt;p class="alert-title"&gt;Note&lt;/p&gt;&#10; &lt;p&gt;This is a sample post that shows what an article looks like. Replace or delete it when you publish your own.&lt;/p&gt;&#10;&lt;/div&gt;&lt;p&gt;One flat network is easy to set up and hard to live with. Splitting it into a few VLANs keeps guests away from company data and gives phones their own quiet lane.&lt;/p&gt;&#10;&lt;h2 id="the-plan"&gt;The plan&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;VLAN&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Name&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Purpose&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Example subnet&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Management&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Gateway, switches, access points&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;10.10.1.0/24&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;10&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Staff&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Laptops and desktops&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;10.10.10.0/24&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;20&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Voice&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Desk phones and the PBX&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;10.10.20.0/24&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;30&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;IoT&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Printers, displays, sensors&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;10.10.30.0/24&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;40&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Guest&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Visitors, internet only&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;10.10.40.0/24&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="rules-of-thumb"&gt;Rules of thumb&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Keep the numbering consistent across every site you manage.&lt;/li&gt;&#10;&lt;li&gt;Give each VLAN its own Wi-Fi network only when devices really need wireless.&lt;/li&gt;&#10;&lt;li&gt;Block traffic between VLANs by default and open only what is needed.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="alert alert-warning"&gt;&#10; &lt;p class="alert-title"&gt;Warning&lt;/p&gt;&#10; &lt;p&gt;Test firewall changes while you are on site or have a second way in. Locking yourself out of the management network is easier than it sounds.&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>A go-live checklist for a new 3CX SIP trunk</title><link>https://rickhoekstra.com/posts/3cx-sip-trunk-go-live-checklist/</link><pubDate>Tue, 03 Nov 2026 00:00:00 +0000</pubDate><guid>https://rickhoekstra.com/posts/3cx-sip-trunk-go-live-checklist/</guid><description>&lt;div class="alert alert-note"&gt;&#10; &lt;p class="alert-title"&gt;Note&lt;/p&gt;&#10; &lt;p&gt;This is a sample post that shows what an article looks like. Replace or delete it when you publish your own.&lt;/p&gt;&#10;&lt;/div&gt;&lt;p&gt;Moving phone numbers is the one change where every user notices a mistake straight away. A short checklist takes most of the stress out of it.&lt;/p&gt;&#10;&lt;h2 id="before-the-porting-date"&gt;Before the porting date&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Confirm the full list of numbers with the customer, including fax and alarm lines.&lt;/li&gt;&#10;&lt;li&gt;Set up the trunk in advance and test outbound calls with a temporary number.&lt;/li&gt;&#10;&lt;li&gt;Build the inbound rules for every number, even though nothing arrives on them yet.&lt;/li&gt;&#10;&lt;li&gt;Agree on who calls whom if something goes wrong.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="on-the-day"&gt;On the day&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Call each main number from a mobile phone and from a landline.&lt;/li&gt;&#10;&lt;li&gt;Check the caller ID that is shown on outbound calls.&lt;/li&gt;&#10;&lt;li&gt;Test the paths outside office hours: voicemail, holiday schedule, queues.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="afterwards"&gt;Afterwards&lt;/h2&gt;&#10;&lt;p&gt;Keep an eye on the event log for the first few days and ask the customer about missed calls. Problems with a single number often show up only when that number is first used.&lt;/p&gt;</description></item><item><title>About me</title><link>https://rickhoekstra.com/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rickhoekstra.com/about/</guid><description>&lt;p&gt;Hi, I&amp;rsquo;m Rick. I work in IT and spend most of my days with Microsoft 365, UniFi networks and 3CX phone systems.&lt;/p&gt;&#10;&lt;p&gt;This blog is where I write down what I learn along the way: how-tos, fixes for problems that cost me an evening, and notes I want to be able to find again.&lt;/p&gt;&#10;&lt;h2 id="what-you-can-expect"&gt;What you can expect&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Microsoft 365&lt;/strong&gt;: tenant management, security and automation&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;UniFi&lt;/strong&gt;: network design, Wi-Fi and firewalling&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;3CX&lt;/strong&gt;: installation, SIP trunks and day-to-day management&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;em&gt;This is placeholder text. Edit &lt;code&gt;content/about.md&lt;/code&gt; to tell your own story.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Contact</title><link>https://rickhoekstra.com/contact/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rickhoekstra.com/contact/</guid><description>&lt;p&gt;Found a mistake in an article, or have a question about something I wrote? I&amp;rsquo;d like to hear it.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;LinkedIn&lt;/strong&gt;: &lt;a href="https://www.linkedin.com/in/YOUR-PROFILE"&gt;connect or send me a message&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/YOUR-USERNAME"&gt;YOUR-USERNAME&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;em&gt;Edit &lt;code&gt;content/contact.md&lt;/code&gt; to change these links.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Search</title><link>https://rickhoekstra.com/search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rickhoekstra.com/search/</guid><description/></item><item><title>Tools &amp; projects</title><link>https://rickhoekstra.com/tools/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rickhoekstra.com/tools/</guid><description>&lt;p&gt;Scripts and templates that I use myself and share for others to build on. The list below is filled from &lt;code&gt;data/tools.yaml&lt;/code&gt;.&lt;/p&gt;</description></item></channel></rss>