Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Dell Command PowerShell Provider – sikker adgangskode

Summary: Dell Command | Funktionen Sikker adgangskode til PowerShell Provider, ConvertTo-SecureString, ConvertFrom-SecureString

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

Berørte produkter:

  • Dell Command | PowerShell Provider

Cause

Ikke relevant

Resolution

Konceptet bag sikre adgangskoder er, at vi i produktionsscripts ikke bør overføre vigtige adgangskoder som almindeligt syn. Dette er en alvorlig mangel på sikkerhed. Så ved hjælp af PowerShell kan vi sikre en adgangskode eller i det mindste reducere synligheden af adgangskoden. Vi diskuterer først de generelle aspekter af sikkerhedsstrengen og diskuterer derefter, hvordan Dell Command PowerShell Provider (DCPP) udnytter den indbyggede funktion i PowerShell til at sikre adgangskoden.

Overvej, at vi vil læse brugernavn og adgangskode fra brugeren på konsollen. Vi er klar over, at brugernavnet generelt ikke kræver nogen sikkerhed, og det kan være synligt for alle. Men for adgangskode må vi ikke lade fremmede kende brugerens adgangskode. Vi kan lette dette krav med kommandoerne som nedenfor:

$user = Read-Host "Enter Username"

$pass = Read-Host "Enter Password" -AsSecureString

Ovenstående er en oversigt over, hvordan vi kan tilføje mere sikkerhed, når vi skal sikre vigtige oplysninger som f.eks. en adgangskode. I eksemplet ovenfor er variablen $pass af typen System.Security.SecureString. Vi får en introduktion til to andre almindeligt anvendte cmdletter, som PowerShell giver for at lette sikre felter, før vi berører aspekter af DCPP.

De to kommandoer er ConvertTo-SecureString og ConvertFrom-SecureString. ConvertTo-SecureString konverterer en almindelig tekst til at skrive System.Security.SecureString. Et eksempel er vist nedenfor:

"P@ssword1" | ConvertTo-SecureString -AsPlainText -Force

I ovenstående eksempel konverteres almindelig tekst P@assword1 til at skrive System.Security.SecureString. Dette er flere oplysninger og bruges muligvis ikke i så høj grad.

Den næste cmdlet ConvertFrom-SecureString er en mere udbredt cmdlet, som bruges til at konvertere sikre strenge til krypterede standardstrenge. Den primære begrænsning ConvertTo-SecureString er, at dens output ikke kan skrives direkte til en fil til fremtidig brug. Vi er nødt til at bruge ConvertFrom-SecureString , som konverterer System.Security.SecureString til en krypteret standardstreng, som nemt kan gemmes i en fil, for at overvinde denne begrænsning.

Vi konverterer almindelig tekst P@ssword1 til sikker streng og videresender derefter dens output for at ConvertFrom-SecureString få en krypteret streng, som sikkert og nemt kan gemmes i en fil.

Som et eksempel kan man på en computer se, om administratoradgangskoden er indstillet, og vi skal gemme den i en fil. Vi kan gøre dette ved hjælp af:

Read-Host "Enter Admin Password" -AsSecureString |
ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt"

Vi kan hente denne administratoradgangskode tilbage til en variabel som et sikkert objekt som:

$pass = Get-Content "C:\Scripts\AdminPassword.txt" | ConvertTo-SecureString

Nu skal du overveje, hvordan du anvender en sikker adgangskode til DCPP. Hvis brugerens computer i DCPP har indstillet enten system- eller administratoradgangskoden, skal vi overføre den respektive adgangskode til alle set kommandoer. Så det at angive denne adgangskode, da almindelig tekst bryder sikkerheden. Så vi er nødt til at overføre adgangskoden som System.Security.SecureString. Når vi består en SecureString adgangskode, skal vi også overføre den med en -PasswordSecure switch og ikke den normale –Password switch. Der vises et eksempel nedenfor, hvor brugeren forsøger at indstille AdvancedBatteryChargeCfg til Disabled og overføre SecureString en adgangskode:

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

Her $pass indeholder system- og administratoradgangskoden og er af typen System.Security.SecureString. På samme måde som ovenstående kan vi læse $pass :

$pass = Read-Host "Enter system/admin password" –AsSecureString

Vi kan gemme $pass i en fil, hvis det er nødvendigt, som:

$pass| ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt

Additional Information

Article Properties


Affected Product

Dell Command | Powershell Provider

Last Published Date

11 Sept 2023

Version

7

Article Type

Solution