que derivan los métodos por lotes y VBS (abajo), ya que no pude encontrar un lote equivalente o método VBS para esta pregunta en cualquier parte más. Si no debo agregarlo a este hilo (jscript), agregue un comentario sobre cómo/dónde debería ir, y borraré esta respuesta y la publicaré como se indica. :)
por lotes (sola línea - sin retorno de carro):
for /f "tokens=2*" %%f in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /v ProfilesDirectory ^|find /i "Profiles"') do @set ProfDir=%%g
VBScript:
' http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/registry/#ListRegFiles.htm
const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set StdOut = WScript.StdOut
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"
oReg.EnumValues HKEY_LOCAL_MACHINE, strKeyPath,_
arrValueNames, arrValueTypes
For i=0 To UBound(arrValueNames)
' StdOut.WriteLine "File Name: " & arrValueNames(i) & " -- "
oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,_
arrValueNames(i),strValue
' StdOut.WriteLine "Location: " & strValue
' StdOut.WriteBlankLines(1)
IF arrValueNames(i) = "ProfilesDirectory" THEN ProfileRoot= strValue
Next
wscript.echo("ProfileRoot=" & ProfileRoot)
Como se puede poner en cualquier lugar, por ejemplo, perfiles de usuario usted puede configurar el marcado como c: \ mark ¿por qué necesita esto y no USERPROFILE? También tenga en cuenta que el último directorio no es necesariamente el mismo que el nombre de usuario. – Mark
Sí Mark ... Lo que dijiste es verdad. Solo quiero saber dónde se encuentra un perfil de usuario en particular? Además, mi entorno no 'redirecciona' estos perfiles además de las ubicaciones predeterminadas. – svv