Trabajo en un entorno empresarial, donde administro un laboratorio de 75 computadoras. Uso Ghost para crear imágenes y luego camino por las computadoras para cambiar los nombres de PC y los SID.
Estoy implementando un script para agregar automáticamente las computadoras al dominio, pero soy nuevo en PowerShell y realmente agradecería la ayuda. Aquí está el script que estoy usando, 1.ps1:
Param (
[String]$User = $(Throw "MYDOMAINUSERINFO"),
[String]$Domain = "MYDOMAININFO",
[String]$PathToCred = "C:\OMC\AutoPost"
)
#Make sure our path string has a trailing backslash
If ($PathToCred[$PathToCred.Length - 1] -ne "\")
{ $PathToCred += "\"
}
#Now create file string
$File = $PathToCred + "JoinDomain-$User.crd"
#And find out if it's there, if not create it
If (-not (Test-Path $File))
{ (Get-Credential).Password | ConvertFrom-SecureString | Set-Content $File
}
#Load the credential file
$Password = Get-Content $File | ConvertTo-SecureString
$Credential = New-Object System.Management.Automation.PsCredential($User,$Password)
#Add the computer to the domain
Add-Computer -DomainName $Domain -Credential $Credential
Ejecuto este script usando un archivo por lotes que coloco en la carpeta de inicio.
Powershell.exe -ExecutionPolicy Bypass C:\OMC\AutoPost\1.ps1 -User MYDOMAINUSERINFO -Domain MYDOMAININFO -PathToCred C:\OMC\AutoPost\
La ejecución de este script funciona normalmente, crea un archivo de credenciales, lee el archivo de credenciales y se une al dominio. Ejecutar este script después de fantasmas y caminar no funciona, me sale el error:
Key not valid for use in specified state.
Creo que esto se debe a que la computadora sabe que algo ha cambiado. Estoy usando la misma cuenta de usuario para agregar al dominio con el que construí las credenciales inicialmente, así que creo que la computadora está rechazando estas credenciales porque el SID ha cambiado.
Leí en línea que puedo usar [-key Byte []] para establecer una clave de cifrado estándar, lo que me permitirá evitar este error. Soy demasiado nuevo en PowerShell para saber cómo usar esto, ¿alguien puede ayudarme?
More info:
https://technet.microsoft.com/en-us/library/hh849814.aspx
http://ss64.com/ps/convertfrom-securestring.html
Pregunta de desbordamiento de pila: https://stackoverflow.com/questions/32258829/powershell-secure-string-encryption-key-usage-join-domain-script
fuente