Creación de un nuevo usuario
En este ejemplo se muestra cómo puede usar el User
recurso para asegurarse de que existe un usuario.
Con Ensure establecido en Present
y UserName establecido en SomeUserName
, el recurso crea la SomeUserName
cuenta si no existe.
Con Password establecido en el valor proporcionado por el usuario para el parámetro PasswordCredential , si el recurso crea la SomeUserName
cuenta, crea la cuenta con la contraseña establecida en el valor de PasswordCredential. La primera vez que alguien inicia sesión como SomeUserName
, el sistema les pide que cambien la contraseña.
Si SomeUserName
existe, el recurso no establece la contraseña de esa cuenta.
Con Invoke-DscResource
Este script muestra cómo puede usar el User
recurso con el Invoke-DscResource
cmdlet para asegurarse de que la SomeUserName
cuenta existe y crearla con una contraseña predeterminada si es necesario.
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[System.Management.Automation.PSCredential]
[System.Management.Automation.Credential()]
$PasswordCredential
)
begin {
$SharedParameters = @{
Name = 'User'
ModuleName = 'PSDscResource'
Properties = @{
Ensure = 'Present'
UserName = 'SomeUserName'
Password = $PasswordCredential
}
}
$NonGetProperties = @(
'Ensure'
'Password'
)
}
process {
$TestResult = Invoke-DscResource -Method Test @SharedParameters
if ($TestResult.InDesiredState) {
$QueryParameters = $SharedParameters.Clone()
foreach ($Property in $NonGetProperties) {
$QueryParameters.Properties.Remove($Property)
}
Invoke-DscResource -Method Get @QueryParameters
} else {
Invoke-DscResource -Method Set @SharedParameters
}
}
Con una configuración
En este fragmento de código se muestra cómo puede definir un Configuration
con un Service
bloque de recursos para asegurarse de que la SomeUserName
cuenta existe y crearla con una contraseña predeterminada si es necesario.
Configuration Create {
param (
[Parameter(Mandatory)]
[System.Management.Automation.PSCredential]
[System.Management.Automation.Credential()]
$PasswordCredential
)
Import-DscResource -ModuleName PSDscResources
Node localhost {
User ExampleUser {
Ensure = 'Present'
UserName = 'SomeUserName'
Password = $PasswordCredential
}
}
}
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de