Si eso es exactamente cómo se muestra el archivo es decir, una lista de pares de valores dominantes denotados con una signo igual, entonces debería echar un vistazo a lo que ConvertFrom-StringData
convierte una cadena que contiene uno o más pares de clave y valor en una tabla hash. Debido a que cada par de clave/valor debe estar en una línea separada, las cadenas de texto aquí se usan a menudo como formato de entrada.
lo tanto, si un archivo de texto contiene sólo los datos en su ejemplo que podría hacer esto para crear una tabla hash
$Path = "C:\temp\test.txt"
$values = Get-Content $Path | Out-String | ConvertFrom-StringData
$values.midasServer
Cuando el $values.midasServer
tendría el valor serv8194. No es necesario saber dónde están las propiedades con respecto al archivo. Su archivo de entrada también puede tener un espacio inicial y final variable alrededor del signo igual que dará exactamente el mismo resultado.
Dependiendo de su caso de uso que puede dar que un paso más allá y crear un objeto personalizado de esa tabla hash
New-Object -TypeName pscustomobject -Property $values
Si usted tiene al menos PowerShell versión 3 o superior se puede simplificar el proceso (asumiendo que usted quiere una psobject personalizado)
$values = [pscustomobject](Get-Content $Path -Raw | ConvertFrom-StringData)
$values.midasServer
Esto funciona para mí, pero sigo recibiendo un error que dice que el nombre no se pudo crear porque es una cadena vacía. ¿Porqué es eso? – Pred