2016-02-01 6 views
0

У меня есть список серверов, который подключается к функции. Я ищу, чтобы запросить каждую машину и получить полный список всех файлов и папок. Id нравится писать файл на мой локальный компьютер, имя файла будет целями ip ($computer) и добавить все данные от $userdata в файл.Неверный запрос WMI

Я получаю следующее сообщение об ошибке:

Get-WmiObject : Invalid query

foreach ($computer in $Server_List) 
{ 
    $userdata = Get-WmiObject -Credential -Computer $computer -Query "SELECT * from CIM_Data File WHERE Drive = 'C:'" 
    echo "$computer" | Out-File -FilePath $File_path + $computer +".txt" -Append $userdata 
} 

ответ

1

У вас есть паразитные пространство в вашем запросе. Название класса: CIM_DataFile, а не CIM_Data File.

Это:

"SELECT * from CIM_Data File WHERE Drive = 'C:'" 
        ^

потребности выглядеть следующим образом:

"SELECT * from CIM_DataFile WHERE Drive = 'C:'" 
+0

лицо ладони Doh! кроме этого это хорошо выглядит? – iNoob

+0

Возможно, вы захотите создать свой путь к файлу следующим образом: '$ outputfile = Join-Path $ File_path" $ computer.txt "вместо того, чтобы выполнять конкатенацию строк в инструкции' Out-File'. Вы также можете экспортировать результат запроса в CSV, а не использовать 'Out-File'. –

+0

Хорошо, спасибо за совет, так что 'Export-CSV $ outputfile = Join-Path $ File_path" $ computer.txt "'? – iNoob