Get-ChildItem aguarda caminho do pipeline, não um nome de computador. A primeira coisa que você precisa é obter o objeto de computador com seus atributos (nome, tipo, descrição) do arquivo CSV:
Get-Content -Path "c:\temp\servers.csv" | ConvertFrom-Csv | ForEach-Object -Process {
Write-Host "Server name: " -NoNewline
Write-Host $_.Name
}
Em seguida, você precisa executar comandos remotamente com o Invoke-Command:
Invoke-Command -ComputerName $_.Name -ScriptBlock {
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP'
}
Finalmente:
Get-Content -Path "c:\temp\servers.csv" | ConvertFrom-Csv | ForEach-Object -Process {
Invoke-Command -ComputerName $_.Name -ScriptBlock {
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP'
}
}
Para executar o bloco de script com as credenciais especificadas, use o parâmetro -Credential in Invoke-Command.