Número del artículo: 000146459
Ikke aktuelt
Konseptet bak sikre passord er at i produksjonsskript bør vi ikke sende viktige passord som vanlig visning. Dette er en alvorlig mangel på sikkerhet. Så ved hjelp av PowerShell kan vi sikre et passord eller i det minste redusere passordsynligheten. Vi drøfter først generelle aspekter ved sikker streng, og deretter diskuterer vi hvordan Dell Command PowerShell Provider (DCPP) utnytter den medfølgende funksjonen til PowerShell for å sikre passordet.
Vurder at vi ønsker å lese brukernavn og passord fra brukeren i konsollen. Vi er klar over at brukernavnet vanligvis ikke krever noen sikkerhet, og at det kan være synlig for alle. Men for passord bør vi ikke la fremmede få vite brukerpassordet. Vi kan legge til rette for dette kravet med kommandoene som nedenfor:
$user = Read-Host "Enter Username" $pass = Read-Host "Enter Password" -AsSecureString
Ovennevnte er en oversikt over hvordan vi kan legge til mer sikkerhet når vi må sikre viktig informasjon som et passord. I eksemplet ovenfor er variabelen $pass av type System.Security.SecureString
. Vi får en innføring i to andre mye brukte cmdleter powershell gir for å legge til rette for sikre felt før du berører aspekter ved DCPP.
De to kommandoene er ConvertTo-SecureString
og ConvertFrom-SecureString
. ConvertTo-SecureString
konverterer en ren tekst til å skrive.System.Security.SecureString
Det vises et eksempel nedenfor:
"P@ssword1" | ConvertTo-SecureString -AsPlainText -Force
I eksemplet ovenfor konverteres ren tekst P@assword1
til type System.Security.SecureString
. Dette er mer en informasjon og er kanskje ikke mye brukt.
Neste cmdlet ConvertFrom-SecureString
er en mer utbredt cmdlet som brukes til å konvertere sikre strenger til krypterte standardstrenger. Hovedbegrensningen ConvertTo-SecureString
er at utdataene ikke kan skrives direkte inn i en fil for fremtidig bruk. Vi må bruke ConvertFrom-SecureString
det som konverteres til en kryptert standardstreng som enkelt kan lagres System.Security.SecureString
i en fil for å overvinne denne begrensningen.
Vi konverterer ren tekst P@ssword1
til sikker streng og sender deretter utdata for å ConvertFrom-SecureString
få en kryptert streng som trygt og enkelt kan lagres i en fil.
Som et eksempel kan du si på en datamaskin om administratorpassordet er angitt, og vi må lagre dette i en fil. Vi kan gjøre dette ved hjelp av:
Read-Host "Enter Admin Password" -AsSecureString | ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt"
Vi kan hente tilbake dette administratorpassordet i en variabel som et sikkert objekt som:
$pass = Get-Content "C:\Scripts\AdminPassword.txt" | ConvertTo-SecureString
Nå kan du vurdere hvordan du bruker et sikkert passord for DCPP. Hvis brukerens datamaskin har angitt et system- eller administratorpassord i DCPP, må vi for alle set
kommandoer sende det respektive passordet. Så ved å oppgi dette passordet som sikkerhetsbrudd i ren tekst. Derfor må vi sende passordet som System.Security.SecureString
. Når vi har bestått et SecureString
passord, må vi også sende det med en -PasswordSecure
svitsj og ikke den vanlige –Password
svitsjen. Nedenfor vises et eksempel der brukeren prøver å angi AdvancedBatteryChargeCfg
Disabled
og sende SecureString
passordet:
Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass
Her $pass har system- og administratorpassordet og er av typen System.Security.SecureString
. I likhet med den ovennevnte diskusjonen kan vi lese $pass
som:
$pass = Read-Host "Enter system/admin password" –AsSecureString
Vi kan lagre $pass
til en fil, om nødvendig, som:
$pass| ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt
Dell Command | Powershell Provider
11 sept 2023
7
Solution