Delen via


Get-Credential

Hiermee haalt u een referentieobject op op basis van een gebruikersnaam en wachtwoord.

Syntaxis

Get-Credential
   [[-Credential] <PSCredential>]
   [<CommonParameters>]
Get-Credential
   [-Message <String>]
   [[-UserName] <String>]
   [-Title <String>]
   [<CommonParameters>]

Description

De Get-Credential cmdlet maakt een referentieobject voor een opgegeven gebruikersnaam en wachtwoord. U kunt het referentieobject gebruiken in beveiligingsbewerkingen.

De Get-Credential cmdlet vraagt de gebruiker om een wachtwoord of een gebruikersnaam en wachtwoord. U kunt de parameter Message gebruiken om een aangepast bericht voor de prompt op te geven.

In Windows PowerShell 5.1 en eerder wordt in Windows een dialoogvenster weergegeven waarin u om een gebruikersnaam en wachtwoord wordt gevraagd. In PowerShell 6.0 en hoger wordt de prompt weergegeven in de console voor alle platforms.

Voorbeelden

Voorbeeld 1

$c = Get-Credential

Met deze opdracht wordt een referentieobject opgehaald en opgeslagen in de variabele $c.

Wanneer u de opdracht invoert, wordt u gevraagd om een gebruikersnaam en wachtwoord. Wanneer u de gevraagde gegevens invoert, maakt de cmdlet een PSCredential--object dat de referenties van de gebruiker vertegenwoordigt en slaat deze op in de $c variabele.

U kunt het object gebruiken als invoer voor cmdlets die gebruikersverificatie aanvragen, zoals cmdlets met een referentie- parameter. Sommige providers die zijn geïnstalleerd met PowerShell bieden echter geen ondersteuning voor de parameter Credential.

Voorbeeld 2

$c = Get-Credential -Credential User01
$c.Username
User01

In dit voorbeeld wordt een referentie-object gemaakt dat een gebruikersnaam zonder domeinnaam bevat.

De eerste opdracht haalt een referentie op met de gebruikersnaam User01 en slaat deze op in de $c variabele. Met de tweede opdracht wordt de waarde van de eigenschap Gebruikersnaam van het resulterende referentieobject weergegeven.

Voorbeeld 3

$Credential = $host.ui.PromptForCredential(
    "Need credentials", "Please enter your user name and password.", "", "NetBiosUserName")

Met deze opdracht wordt de methode PromptForCredential gebruikt om de gebruiker om zijn gebruikersnaam en wachtwoord te vragen. Met de opdracht worden de resulterende referenties opgeslagen in de variabele $Credential.

De methode PromptForCredential is een alternatief voor het gebruik van de Get-Credential-cmdlet. Wanneer u PromptForCredential-gebruikt, kunt u het bijschrift, de berichten en de gebruikersnaam opgeven die in de prompt worden weergegeven.

Zie de documentatie PromptForCredential in de SDK voor meer informatie.

Voorbeeld 4

In dit voorbeeld ziet u hoe u een referentieobject maakt dat identiek is aan het referentieobject dat door Get-Credentialwordt geretourneerd.

$User = "Domain01\User01"
$PWord = Read-Host -Prompt 'Enter a Password' -AsSecureString
$credentialParams = @{
    TypeName = 'System.Management.Automation.PSCredential'
    ArgumentList = $User, $PWord
}
$Credential = New-Object @credentialParams

Met de eerste opdracht wordt de gebruikersnaam toegewezen aan de variabele $User. Zorg ervoor dat de waarde de notatie Domain\User of ComputerName\User volgt.

De tweede opdracht maakt gebruik van de cmdlet Read-Host om een beveiligde tekenreeks te maken op basis van gebruikersinvoer. De parameter Prompt vraagt gebruikersinvoer aan. De parameter AsSecureString maskert de invoer en converteert deze naar een beveiligde tekenreeks.

De derde opdracht maakt gebruik van de cmdlet New-Object om een PSCredential--object te maken op basis van de waarden die zijn opgeslagen in de $User en $PWord variabelen.

Voorbeeld 5

$credentialParams = @{
    Message = "Credential are required for access to the \\Server1\Scripts file share."
    UserName = "Server01\PowerUser"
}
Get-Credential @credentialParams

PowerShell Credential Request
Credential are required for access to the \\Server1\Scripts file share.
Password for user Server01\PowerUser:

Met deze opdracht worden de parameters Message en UserName van de Get-Credential-cmdlet gebruikt. Deze opdrachtindeling is ontworpen voor gedeelde scripts en functies. In dit geval vertelt het bericht de gebruiker waarom referenties nodig zijn en geeft ze er vertrouwen in dat de aanvraag legitiem is.

Voorbeeld 6

Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Credential Domain01\User02}

PowerShell Credential Request : PowerShell Credential Request
Warning: This credential is being requested by a script or application on the SERVER01 remote
computer. Enter your credentials only if you trust the remote computer and the application or script
requesting it.

Enter your credentials.
Password for user Domain01\User02: ***************

PSComputerName     : Server01
RunspaceId         : 422bdf52-9886-4ada-ab2f-130497c6777f
PSShowComputerName : True
UserName           : Domain01\User01
Password           : System.Security.SecureString

Met deze opdracht wordt een referentie opgehaald van de externe Server01-computer. De opdracht gebruikt de Invoke-Command cmdlet om een Get-Credential opdracht uit te voeren op de externe computer. De uitvoer toont het externe beveiligingsbericht dat Get-Credential opneemt in de verificatieprompt.

Parameters

-Credential

Hiermee geeft u een gebruikersnaam voor de referentie, zoals User01 of Domain01\User01. De parameternaam, -Credential, is optioneel.

Wanneer u de opdracht verzendt en een gebruikersnaam opgeeft, wordt u om een wachtwoord gevraagd. Als u deze parameter weglaat, wordt u gevraagd om een gebruikersnaam en een wachtwoord.

Als u vanaf PowerShell 3.0 een gebruikersnaam zonder een domein invoert, Get-Credential geen backslash meer voor de naam invoegt.

Referenties worden opgeslagen in een PSCredential object en het wachtwoord wordt opgeslagen als een SecureString.

Notitie

Zie voor meer informatie over SecureString gegevensbeveiliging Hoe veilig is SecureString?.

Type:PSCredential
Position:1
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Message

Hiermee geeft u een bericht op dat wordt weergegeven in de verificatieprompt. Deze parameter is ontworpen voor gebruik in een functie of script. U kunt het bericht gebruiken om de gebruiker uit te leggen waarom u referenties aanvraagt en hoe deze worden gebruikt.

Deze parameter is geïntroduceerd in PowerShell 3.0.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Title

Hiermee stelt u de tekst van de titelregel in voor de verificatieprompt in de console.

Deze parameter is geïntroduceerd in PowerShell 6.0.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-UserName

Bepaalt een gebruikersnaam. De verificatieprompt vraagt een wachtwoord aan voor de gebruikersnaam. De gebruikersnaam is standaard leeg en de verificatieprompt vraagt zowel een gebruikersnaam als een wachtwoord aan.

Deze parameter is geïntroduceerd in PowerShell 3.0.

Type:String
Position:1
Default value:None (blank)
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

None

U kunt geen objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

PSCredential

Met deze cmdlet wordt een referentieobject geretourneerd.

Notities

U kunt het PSCredential--object gebruiken dat Get-Credential maakt in cmdlets die gebruikersverificatie aanvragen, zoals die met een parameter Credential.

De parameter Credential wordt niet ondersteund door alle providers die zijn geïnstalleerd met PowerShell. Vanaf PowerShell 3.0 wordt deze ondersteund voor bepaalde cmdlets, zoals de Get-Content en New-PSDrive cmdlets.