$cominfo = [pscustomobject]@{
HostID = $Computer
prodinfo = $DisplayName
version = $Version
InstallDate = $Date
Producer = $Publisher
UninstallString = $UninstallString
InstallLocation = $InstallLocation
InstallSource = $InstallSource
HelpLink = $HelLink
EstimatedSizeMB = [decimal]([math]::Round(($thisSubKey.GetValue('EstimatedSize') * 1024) / 1MB, 2))
}
if(Test-Path -path '.\AssetManagement.xml'){
$xml = import-clixml -Path '.\AssetManagement.xml'
}
$xml += $cominfo | select *
Export-Clixml -Path '.\AssetManagement.xml' -InputObject $xml
$cominfo.pstypenames.insert(0, 'System.Software.Inventory')
Write-Output $cominfo
Приведенный выше фрагмент кода показывает компоненты настраиваемого объекта и последующую попытку преобразовать в XML и сохранить / добавить в существующий файл XML (если файл существует). В частности,
if(Test-Path -path '.\AssetManagement.xml'){
$xml = import-clixml -Path '.\AssetManagement.xml'
}
$xml += $cominfo | select *
Export-Clixml -Path '.\AssetManagement.xml' -InputObject $xml
Это фрагмент кода, с которым у меня возникли проблемы. Я ни в коем случае не эксперт по PowerShell, и это касается моего личного управления домашними активами. Я пробовал несколько вариантов, которые я нашел в Интернете, этот фрагмент был последним, и ни один из них не достиг цели.
Все методы, которые я пробовал из поиска здесь, и Google не создали ни одного файла XML, поскольку я ожидайте, но я всегда получаю вывод, как и ожидалось. Я надеялся, что кто-то здесь может помочь мне вывести каждый настраиваемый объект в файл xml (при необходимости создать файл, в противном случае добавить к существующему), а не только в подсказку дисплея.
Я пробовал такие вещи, как «Тестирование» тестирование один два 3 дюйма | export-cli xml '. \ testing. xml', и эти команды работают по назначению, поэтому я знаю, что моя система должна разрешать запись этих файлов в текущий каталог, просто не знаю, почему он не работает для этой настраиваемой оболочки PowerShell вывод объекта .......