<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[PnP.PowerShell en Microsoft Graph samen]]></title><description><![CDATA[PnP.PowerShell en Microsoft Graph samen]]></description><link>https://pnpandgraph.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 06:16:05 GMT</lastBuildDate><atom:link href="https://pnpandgraph.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Een typo maakt meer kapot dan je lief is]]></title><description><![CDATA[Er zijn ruzies die nooit opgelost raken: tabs versus spaces, emacs versus vim, en sinds kort… Microsoft Graph PowerShell versus PnP.PowerShell. Beide willen iets met Graph doen, maar allebei op hun eigen manier. En PowerShell zit er tussenin als een ...]]></description><link>https://pnpandgraph.hashnode.dev/een-typo-maakt-meer-kapot-dan-je-lief-is</link><guid isPermaLink="true">https://pnpandgraph.hashnode.dev/een-typo-maakt-meer-kapot-dan-je-lief-is</guid><category><![CDATA[PnPPowerShell]]></category><category><![CDATA[Microsoft Graph]]></category><dc:creator><![CDATA[Jack van Deur]]></dc:creator><pubDate>Thu, 30 Oct 2025 10:25:19 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1761817619664/6e252316-6d6a-4a92-8ecd-4ab810651c69.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Er zijn ruzies die nooit opgelost raken: tabs versus spaces, emacs versus vim, en sinds kort… Microsoft Graph PowerShell versus PnP.PowerShell. Beide willen iets met Graph doen, maar allebei op hun eigen manier. En PowerShell zit er tussenin als een kind van gescheiden ouders die het allemaal maar moet verteren.</p>
<h1 id="heading-een-nieuwe-oplossing-zeker-niet">Een nieuwe oplossing? Zeker niet</h1>
<p>Natuurlijk is hierbeneden genoemde oplossing al lang bekend in de Github community. Wat nieuw was voor mij is dat zelfs bij een mislukt , per ongeluk getypt commando uit de pnp module PNP’s graph core al in het geheugen geladen wordt en daar de zaak blokkeert voor de module die je eigenlijk had willen gebruiken.</p>
<h2 id="heading-hoe-ik-er-vandaag-tegenaan-liep">Hoe ik er vandaag tegenaan liep</h2>
<p>Ik maak verbinding met Microsoft Graph. Alles lijkt prima:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761818462158/79086e29-0fca-4ce8-9fca-b15bdafddd35.png" alt /></p>
<p>Ik wil even checken of ik in de juiste tenant zit. Typ snel:</p>
<p>PnP geeft een error: "Not connected to SharePoint". Logisch, ik ben niet ingelogd met PnP. Geen probleem toch? Ik typ het goede commando:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761818491690/031b62c4-5485-4329-87d5-df2e6cbe7fdb.png" alt /></p>
<p><strong>BOOM. Crash.</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761818564261/d37187b6-7bb6-429f-b3b8-445d976f621e.png" alt /></p>
<p>Wacht... Version=1.25.1.0? Dat is PnP's versie. Door die ene typefout heeft PnP zichzelf geladen, inclusief Graph Core 1.25.1.0 En nu zit Graph vast. De benodigde types zitten niet in Graph Core 1.25.1.0</p>
<p><strong>Oplossing?</strong> Sessie opnieuw starten en opnieuw beginnen. Weer 5 minuten kwijt.</p>
<h1 id="heading-de-volgorde-maakt-alles-uit">De volgorde maakt alles uit</h1>
<h2 id="heading-het-valse-gevoel-van-veiligheid">Het valse gevoel van veiligheid</h2>
<ol>
<li><p><strong>Connect-MgGraph alleen is NIET genoeg.</strong> Ja, je bent ingelogd. Ja, je hebt een token. Maar de Graph Core 2.x assemblies zijn nog niet geladen. PowerShell wacht met lazy loading tot je écht iets met Graph doet.</p>
</li>
<li><p><strong>Type je per ongeluk een pnp commando in plaats van Get-MgContext?</strong> Game over. PnP denkt "ah, ik word geroepen!" en laadt zichzelf inclusief Graph Core 1.25.1.0, want het ziet geen andere. Zelfs als het commando faalt omdat je nog niet ingelogd bent met PnP, is de schade al aangericht.</p>
</li>
<li><p><strong>Nu voer je een Graph-commando uit</strong> zoals Get-MgOrganization of Get-MgUser. Graph wil zijn Core 2.x laden want daar ziotten de benodigde types in, maar vindt Core 1.25.x al in het geheugen. Boom. Assembly conflict. Foutmelding. Frustratie.</p>
</li>
</ol>
<h2 id="heading-de-volgorde-die-wel-werkt">De volgorde die wél werkt</h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761818701765/99587d9d-5544-4589-afbd-f29e3a2b55d9.png" alt /></p>
<p>Pas na het <strong>uitvoeren</strong> van een Graph-commando zijn de Core 2.x assemblies daadwerkelijk geladen. Vanaf dat moment kan PnP zich er bij neerleggen en werkt alles.</p>
<h2 id="heading-waarom-remove-module-een-illusie-is">Waarom Remove-Module een illusie is</h2>
<p>Denk je het op te lossen met Remove-Module PnP.PowerShell -Force? Vergeet het maar. De assemblies blijven in het PowerShell AppDomain zitten als beton. De enige remedie:</p>
<p><strong>Sessie sluiten. Opnieuw starten.</strong></p>
<h1 id="heading-de-venijnige-types">De venijnige types</h1>
<p>Je kunt op drie manieren in de val lopen:</p>
<h2 id="heading-type-1-de-haastige-verbinder">Type 1: De haastige verbinder</h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761818766711/f7fc0d10-933f-486f-81eb-836b8e7c9d06.png" alt /></p>
<h2 id="heading-type-2-de-typo-mijn-ervaring-van-vandaag">Type 2: De typo (mijn ervaring van vandaag)</h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761818947349/62382274-f0e9-4cb7-9847-54acaefd6816.png" alt /></p>
<p><strong>De foutmelding die je dan krijgt:</strong></p>
<p>Zie je die <strong>Version=1.25.1.0</strong>? Dat is PnP's versie. Graph wil types gebruiken die alleen in Core 2.x bestaan, maar PowerShell zit vast aan de 1.25.1.0 die PnP al geladen heeft.</p>
<h2 id="heading-type-3-de-optimist">Type 3: De optimist</h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761818983867/5b7eb128-ccb5-4cb0-9f3a-080d5cadf679.png" alt /></p>
<h1 id="heading-de-moraal">De moraal</h1>
<p>PowerShell is geen democratie. <strong>De eerste module die een Graph Core assembly laadt, regeert ongevraagd de sessie.</strong></p>
<p><strong>De gemene twist:</strong> authenticatie is voor Microsoft Graph niet hetzelfde als assembly loading. Je kunt perfect ingelogd zijn in Graph zonder dat de cruciale assemblies geladen zijn.</p>
<p>Tot Microsoft Graph en PnP.PowerShell hun huwelijkstherapie afronden, is er maar één regel:</p>
<p><strong>Eerst Graph verbinden EN een commando uitvoeren, dan pas PnP.</strong></p>
<p>#PowerShell #MicrosoftGraph #PnPPowerShell #Microsoft365 #SharePoint #TechTips</p>
]]></content:encoded></item></channel></rss>