Přihlašovací údaje v PS
Kdo by v dnešní době neznal příkaz v Powershellu „Get-Credential“, který otevře dialogové okno pro přihlašovací údaje (viz. obr. 1). Tento příkaz se používá téměř ve všech skriptech, ve kterých přistupujete k zabezpečeným objektům. Proto je velmi důležité dbát na to, jak s přihlašovacími údaji zacházíte a na bezpečnost.
Kolega v článku „Jak pracovat s přihlašovacími údaji v PS“ popisuje jednu z možností, jak pracovat bezpečněji a zároveň využít nastavení k plánovanému spouštění skriptů.
Já se zde pokusím popsat další způsob, jak toho docílit tentokrát pomocí Windows Credential Manager. V současné době máme k dispozici 2 varianty a to A) varianta s modulem „CredentialManager“ a B) pomocí modulů PnP.
Příprava
Nejprve si řekneme přípravu pro variantu A
Otevřeme si Powershell ISE (nezapopmeňte ISE otevřít jako správce) a nainstalujeme si modul „CredentialManager“ příkazem
Tím se nám odemkne možnost použít příkazy „Get-StoredCredential“ a „New-StoredCredential“.
Následně vytvoříme záznam do Správce pověření (Windows Credential Manager) příkazem
Záznam můžeme také vytvořit ručně přímo ve Windows Credential Manageru a to tak, že si vyvoláme konzoli přes tlačítko Start napíšeme Správce pověření pro české Windows a pro En napíšeme Windows Credential Manager. Otevře se konzole viz. obr. 2 a dáme přidat obecná pověření.
Objeví se nám formulář, kde vyplníme základní informace
Do prvního pole “Adresa v síti nebo internetu” zadejte pouze krátký název který budeme volat v Powershellu.
Po potvrzení se nám vytvoří záznam, který můžeme zkontrolovat příkazem
Pokud dostanete podobný výsledek je vše v pořádku
UserName Password
-------- --------
tester@domena.cz System.Security.SecureString
Příprava varianty B
V Powershell ISE nainstalujeme modul dle pokynů na této stránce https://github.com/pnp/PnP-PowerShell
Pokud vše proběhne správně budete mít k dispopzici dva příkazy Get-PnPStoredCredential a Add-PnPStoredCredential
Opět si založíme záznam pomocí příkazu Add-PnPStoredCredential a následně ověříme pomocí příkazu Get-
Použití záznamu
Použití je pak již velmi jednoduché. Vytvoříme si proměnou $credential do které načteme hodnoty ze záznamu.
Varianta A
Varianta B
Pak tuto proměnou použijeme například k připojení ke službě Microsoft SharePointOnLine.
Shrnutí
Pokud si tato připojení nachystáte do profilu viz článek Profil v PowerShellu pak Vám bude stačit pouze nastartovat PowerShell ISE a můžete začít pracovat, již budete všude přihlášeni.
Největší benefit to přináší pak u skriptů, které spouštíte automaticky z naplánovaných úloh. Tam je potřeba, aby skript proběhl v pořádku automatické a bezpečné přihlášení.