Google Credentials Provider voor Windows instellen via PowerShell en Google Apps Script

By - RMA
30.11.20 01:53 PM


Zich aanmelden met je G Suite for Education-account op een Windows toestel? Sinds kort is dit mogelijk. Erg handig! Dat maakt het onder andere mogelijk om authenticatie in twee stappen in te schakelen op Windows. Als beheerder kan je Google Credential Provider voor Windows installeren zodat gebruikers zich kunnen inloggen op een Microsoft Windows 10-apparaat met het G Suite for Education-account dat ze gebruiken op school. In dit blogartikel bespreek ik 2 scripts, een PowerShell en een Google Apps Script, om op jouw Windows toestellen Google Credential Provider in te stellen.




Scripts




Het beheer van apparaten in de organisatie via G Suite for Education biedt een aantal voordelen met betrekking tot de bescherming van data. Beheerders krijgen volledige controle over de toestellen, zodat het securitybeleid rond zaken als inloggen, bestandsopslag, encryptie en andere functies kan worden afgedwongen. Om deze mogelijkheden te gebruiken moeten beheerders Google Credential Provider for Windows op hun vloot Windows 10-toestellen installeren.


De G Suite for Education beheerders gebruiken Google Credential Provider voor Windows om:

  1. Hun school in staat te stellen om de bestaande inloggegevens van het G Suite-account te gebruiken om in te loggen op Windows 10-apparaten en om eenvoudig toegang te krijgen tot apps en services met SSO.
  2. Gebruikersaccounts te beschermen met verdachte inlogdetectietechnologieën.


Om bijvoorbeeld bestaande Windowsprofielen te laten aanmelden/samenvoegen met een G Suite for Education-account op een Windows toestel, moet je in de Admin Console een “aangepast kenmerk” creëren per gebruiker met een serienummer en een gebruikersnaam. Daarnaast moet je het SID koppelen aan een G Suite for Education emailadres via een nieuwe registersleutel in Windows. Deze documentatie vind ik zeer technisch en nogal omslachtig voor mensen die niet erg technisch zijn. 


In dit blogartikel analyseer ik “lokale windows profielen”, dus met andere woorden, scholen waar geen active directory is of geen server. 



Een PowerShell Script en een Google Apps Script


Om het hele proces wat te stroomlijnen, stelde ik ik twee scripts:

  1. Een PowerShell script om de nodige software te downloaden en te installeren op het Windowstoestel. Dit script maakt ook registersleutels aan. Dit is nuttig om bijvoorbeeld beheerde browsers op te zetten of om bestaande profielen te hergebruiken met een G Suite login.
  2. Een Google Apps Script om voor ons de gegevens van het Windowstoestel weg te schrijven in Google Admin. Dit is nodig om een bestaand Windows-profiel samen te voegen met een “ik log in met G Suite op Windows”-profiel. Dit kan ook manueel, maar dan heb je een hoop klik- en typwerk.



Het te volgen proces 


  • Je zit voor een Windows toestel.
  • Je opent een nieuw PowerShell-venster als Administrator.
  • Je kopieert en plakt je (lichtjes aangepast) script in het PowerShell-venster en drukt op “enter”.
  • Je volgt de stapjes van het PowerShell script.
  • Je kiest of je al dan niet een reeds bestaand Windows-profiel wil laten inloggen met G Suite. 
    → Als je dit niet wenst, wordt er per ingelogd G Suite -account een nieuw Windows-profiel aangemaakt.
    → Als je bestaande Windowsprofielen wil ‘hergebruiken’, opent er op een bepaald moment een nieuw Chromevenster. Via het Google Apps Script wordt er een “aangepast kenmerk” aangemaakt in Google Admin (zonder dat je hier zelf iets voor moet doen).
  • Je volgt indien gewenst de overige stappen (Filestream installeren).
  • Je reboot de computer.
  • Je laat de ‘eigenaar’ van de computer inloggen op zijn toestel via zijn G Suite for Education account.
  • Het bestaand (lokaal-profiel) wordt nu gekoppeld aan het G Suite for Education account. De gebruiker kan zich vanaf nu gewoon met zijn wachtwoord aanmelden. Voor de gebruike verandert er niets op zijn Windows computer.



Wat moet je vooraf even checken?


  • Er moet internet zijn op het Window toestel in kwestie.
  • De computer moet een versie van Windows draaien die hoger of gelijk is aan 1809 (via cmd kan je dit checken met het commando winver).
  • Er moet Chrome geïnstalleerd zijn op de computer in kwestie (Dit gaat razend snel en makkelijk via https://ninite.com/chrome) (versie 81+).
  • Je hebt administrator rechten nodig op de computer in kwestie.



Wat moet je doen om aan de slag te gaan?


  • Neem een kopie van dit script
  • Volg de stapjes die uitgelegd staan in het script zelf bovenaan om zo een “gepubliceerde link” te verkrijgen die je kan gebruiken in onderstaand PowerShell script. Kopieer en plak de “gepubliceerde” link van het script in het PowerShell script bij $appsScriptLink tussen de aanhalingstekens.
  • Ga vervolgens naar Admin.google.com en ga naar: Apparaten > Beheerde Browsers. Kies de juiste Organisatie-eenheid in de linker kolom en klik op het gele plusje.
    • Kopieer het “inschijvingstoken” en plak het (tussen de aanhalingstekens) in het PowerShell-script bij $inschrijfToken.
    • Kijk in het PowerShell script en maak bij $domainListCommaSeparated een komma gescheiden lijst met domeinnamen waarmee gebruikers zich op de Windowstoestellen aanmelden (ook weer tussen de aanhalingstekens).



Ga aan de slag met het eigenlijke script


  • Om PowerShell restricties te “omzeilen” open ik PowerShell als administrator, kopieer en plak ik het (schooleigen) PowerShell script van hieronder en druk ik op enter. Ik maak er dus geen "PS1-bestand" van. 

    Doe je dat wel, dan krijg je voortdurend “meldingen” over ‘running scripts is disabled on this system’ en ‘Execution_policies’. Je kan dit zeker oplossen, maar mijn doel was om dit snel te doen. Dus plak ik alle code gewoon in PowerShell zelf gevolgd door een druk op de entertoets ipv hier een “scriptbestand” van te maken. 
  • Het script loodst je door de nodige stappen.
    • y: Er wordt een oplijsting gemaakt van “namen” en “SID”s (de huidige gebruikers van het windows-toestel)
      →Kopieer de SID van de gebruiker die je wil koppelen.
      →Kopieer de “Name” van de Windowsgebruiker (naam van het lokale Windows profiel) dat overeenkomt met de gekozen SID.
      → Geef het G Suite -adres op dat je wil koppelen met dat lokale profiel straks.
      → Chrome wordt geopend en de nodige aanpassingen in Google Admin worden gedaan door het Google Apps Script.
    • n: Verder naar volgende stap
    • Er wordt een map gemaakt om de installers in op te slaan (c:/temp).
    • Er wordt een registersleutel gemaakt met “toegestane” G Suite for Education domeinen.
    • Er wordt gevraagd of je een bestaand Windowsprofiel wil koppelen aan een gebruiker.
    • Er wordt een registersleutel gemaakt waardoor je het apparaat zal zien staan bij “Beheerde Browsers” in Google Admin.
    • Er wordt gevraagd of je Filestream wil installeren (y/n).
    • Er wordt gevraagd of je wil rebooten (y/n).
    • De aanpassingen worden pas doorgevoerd na een reboot.
    • Als je ervoor kiest om een bestaand profiel te koppelen, laat je de gebruiker in kwestie best meteen inloggen met zijn Google Account. Het systeem zal ervoor zorgen dat het Windows-profiel wordt samengevoegd met het nieuwe G Suite for Education profiel.


Noot: 

  • De installers die gedownload worden in het script zijn voor 64-bit machines.
  • Je kan dit PowerShell script verder uitwerken om meer zaken gedaan te krijgen, maar in dit stappenplan hou ik het bij de basics.



PowerShell script


Hieronder vind je het PowerShell script. Wat er in elk stukje gebeurt, lees je in het script zelf. De regeltjes die met een ‘#’ beginnen, zijn ‘documentatie’ bij het script waarin je kan lezen wat er precies gebeurt. Ik heb het script in kleine stukjes verdeeld en gescheiden met stippellijntjes voor de leesbaarheid.


Dit is de link naar de code van het PowerShellscriptje.

Op een bepaald moment zal het PowerShell script het Google Apps Script openen en een kleine aanpassing doen in Google Admin, tenminste, als je ervoor kiest om een bestaand Windows-profiel te laten inloggen met een Google Account.


PowerShell Script en Google Apps Script

PowerShell Script en Google Apps Script vervolg 1

PowerShell Script en Google Apps Script vervolg 2

PowerShell Script en Google Apps Script vervolg 3

PowerShell Script en Google Apps Script vervolg 4

PowerShell Script en Google Apps Script vervolg 5



Wanneer je je voor de eerste keer aanmeldt


Als je Windows toestel geen wachtwoord heeft, zal je eerst even moeten afmelden om dan vervolgens terug te kunnen aanmelden met een G Suite -account.


Op het “aanmeldscherm” klik je vervolgens op ‘Werkaccount toevoegen’.


Aanmeldscherm Windows toestel


Na aanmelding moet je even wachten en vervolgens Chrome openen. Normaal wordt je automatisch ingelogd op Chrome en kan je klikken op “Gegevens Koppelen”.



Conclusie


That’s all folks! Op deze manier kan je snel en makkelijk een aantal computers klaarmaken om in te loggen op Windows met je G Suite for Education account. Beheerders kunnen de G Suite for Education Console gebruiken om accounts op Windows 10-systemen te beveiligen met behulp van Google's technologieën. Zo kunnen de beheerders de toestellen instellen voor eenmalige aanmelding (SSO). 






Hopelijk hebben jullie nu een beter zicht op hoe je als beheerder de Google Credential Provider for Windows (GCPW) kan instellen op een Windows 10-pc op jouw school.