Сравнение XML с переменными реальных данных в Powershell - PullRequest
0 голосов
/ 30 марта 2012

Я хочу сравнить данные, хранящиеся в XML-файле, с данными, которые я только что сохранил в переменные в этом сеансе команд.Это вообще возможно?

Я читал эту статью: http://powershell.com/cs/blogs/tobias/archive/2009/01/09/tipps-amp-tricks-using-compare-object.aspx

"Compare-Object - отличный способ сравнения наборов результатов. Вам просто нужно быть осторожным, чтобы убедиться:

you are comparing the same object types (do not mix imported xml data with live data)
the syncWindow is large enough to cover the number of expected differences
you specify the properties you really want to compare

"

Пожалуйста, скажите, пожалуйста, можно ли сравнить импортированные данные XML с живыми данными: P

Это мой XML:

<computer version="1.0">
  <hardware>
    <serialnr>78456214Q</serialnr>
    <systeminfo>
      <name>Macgyver</name>
      <domain>Inventory.Domain</domain>
      <manufacturer>TOSHIBA</manufacturer>
      <model>Satellite A300</model>
      <bitversion>x64-based PC</bitversion>
    </systeminfo>
    <gpu>
      <name>ATI Mobility Radeon HD 3400 Series</name>
      <status>OK</status>
    </gpu>
    <cpu>
      <name>Intel(R) Core(TM)2 Duo CPU     T5750  @ 2.00GHz</name>
      <manufacturer>GenuineIntel</manufacturer>
      <id>cpuid</id>
      <numberofcores>2</numberofcores>
      <addresswidth>64</addresswidth>
    </cpu>
    <usb>
      <model>TOSHIBA MK2552GSX ATA Device</model>
    </usb>
    <drive>
      <name>C:</name>
      <volumename>Vista</volumename>
      <size>116,29 GB</size>
      <freespace>25,88 GB</freespace>
    </drive>
    <drive>
      <name>D:</name>
      <volumename>Disk</volumename>
      <size>115,13 GB</size>
      <freespace>114,03 GB</freespace>
    </drive>
    <memory>
      <positioninrow>1</positioninrow>
      <size>2 GB</size>
      <datawidth>64</datawidth>
      <devicelocator>DIMM0</devicelocator>
    </memory>
    <memory>
      <positioninrow>2</positioninrow>
      <size>2 GB</size>
      <datawidth>64</datawidth>
      <devicelocator>DIMM2</devicelocator>
    </memory>
  </hardware>
  <software>
    <printer>
      <drivername>Microsoft XPS Document Writer</drivername>
    </printer>
    <printer>
      <drivername>Microsoft Shared Fax Driver</drivername>
    </printer>
    <user>
      <name>Administrator</name>
    </user>
    <user>
      <name>Guest</name>
    </user>
    <user>
      <name>Hkon</name>
    </user>
    <user>
      <name>HomeGroupUser$</name>
    </user>
    <osinfo>
      <caption>Microsoft Windows 7 Ultimate </caption>
      <serialnumber>03426-OEM-8672362-00056</serialnumber>
      <installdate>06/07/2010 15:37:05</installdate>
      <OSArchitecture>64-bit</OSArchitecture>
      <manufacturer>Microsoft Corporation</manufacturer>
    </osinfo>
    <network>
      <IP>158.38.54.48 fe90::8b3:b35e:e5d4:91f7</IP>
      <Name>Intel(R) PRO/Wireless 3945ABG Network Connection</Name>
      <MAC>00:1F:3C:8E:32:D9</MAC>
    </network>
  </software>
</computer>

1 Ответ

0 голосов
/ 30 марта 2012

Можно сравнить их, но вы не можете использовать объект сравнения для этого. Вам нужно будет написать свой собственный код, чтобы сравнить значения свойств, которые вас интересуют. В качестве альтернативы вы можете экспортировать текущие данные во временный XML-файл, затем повторно импортировать их и использовать для этого объект сравнения. Тогда вы не сравниваете разные типы объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...