У меня есть сценарий Power-Shell, с помощью которого я пытаюсь выполнить резервное копирование постоянно меняющегося числа баз данных SQL. К счастью, все эти базы данных перечислены в разделе реестра. Я использую это для каждого цикла. Проблема, с которой я столкнулся, заключается в том, что после получения нужного мне значения реестра, когда я пытаюсь передать его в свою функцию для резервного копирования баз данных, в переменной, похоже, есть информация, от которой я могу избавиться. Если я выведу содержимое переменной на экран, просто вызвав переменную ($ variable), это будет просто замечательно. Но если я записываю переменную на экран, появляется также дополнительное «содержимое», которое появляется при вызове функции.
Вот часть скрипта, которая генерирует содержимое переменной.
foreach ($childitem in get-childitem "HKLM:\SOFTWARE\Wow6432Node\Lanovation\Prism Deploy\Server Channels")
{$DBName = get-itemproperty Registry::$childitem | select "Channel Database Name"
write-host $DBname}
Вот что отображает хост записи:
@{Channel Database Name=Prism_Deploy_Sample_268CBD61_AC9E_4853_83DE_E161C72458DE}
но мне нужна только эта часть:
Prism_Deploy_Sample_268CBD61_AC9E_4853_83DE_E161C72458DE
Я пытался посмотреть в Интернете, как это сделать, и в том, что я нашел, упоминаются вещи, похожие на $ variable.split, а затем указаны мои разделители. Но когда я пытаюсь это сделать, я получаю сообщение об ошибке «Ошибка вызова метода, поскольку [System.Management.Automation.PSCustomObject] не содержит метод с именем« split »."
Я в растерянности относительно того, куда мне идти.