2

Прошло немного времени с тех пор, как я прикоснулся к PowerShell, поэтому изо всех сил пытался заставить это работать так, как я ожидал.

$computerlist = Get-Content H:\MappedDrive\ListOfMachines.txt

ForEach ($computer in $computerlist)
{

   $Result1 Get-WmiObject Win32_MappedLogicalDisk -computerName $computer | Select Name,ProviderName 
   $Result2 get-wmiobject win32_computersystem -computer $computer | select username 

}

$Result += $Result1, $Result2 | Out-File H:\MappedDrive\$computer.txt

Так что я ожидаю, что он получит букву диска, местоположение и имя пользователя, а затем выведет имя компьютера в виде текстового файла. Я читал много других форумов, но просто не могу заставить оба Get-WmiObjects работать вместе.

Извинения, если это не на том форуме, были не уверены, что было бы лучше.

Спасибо

2 ответа2

4

Здесь есть пара неправильных вещей.

  1. $Result1 GetWmiObject Я предполагаю, что здесь должно быть = ?
  2. $Result | Out-File плохо сочетается со смесью объектов в массиве. Возможно, вы захотите использовать For-EachObject поверх него вместо использования Add-Content.
  3. Вы добавляете свои результаты вне цикла, то есть вы только получите свой последний $computer $computerlist

Возможно, захотите сделать что-то вроде следующего:

$computerlist = Get-Content H:\MappedDrive\ListOfMachines.txt

ForEach ($computer in $computerlist)
{

   $Result1 = Get-WmiObject Win32_MappedLogicalDisk -computerName $computer | Select Name,ProviderName 
   $Result2 = Get-wmiobject Win32_computersystem -computer $computer | select username 
   $Result += $Result1, $Result2 | %{Add-Content "H:\MappedDrive\$computer.txt" $_}
}
-1

Чтобы обойти удаленные сценарии powershell, я нашел 2 способа.

  1. Если вы создадите командный файл с помощью следующих команд, он будет запущен на удаленном компьютере.

powershell.exe -executionpolicy bypass -file "ПУТЬ ФАЙЛА ЗДЕСЬ"

  1. Запустите ваш скрипт в Powershell ISE. Выберите весь ваш скрипт и нажмите кнопку выбора запуска.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .