我有一个Power-shell脚本,我试图备份不断变化的SQL数据库数量。幸运的是,所有这些数据库都列在注册表项中。我正在为每个循环利用这个。我遇到的问题是,在获取我想要的注册表值后,当我尝试将它传递到我的函数以备份数据库时,似乎可以删除我可以删除的变量中的信息。如果我通过调用变量($ variable)将变量的内容输出到屏幕上,则显示得很好。但是,如果我编写 - 将变量托管在屏幕上,调用该函数时显示的额外“内容”也会显示出来。如何操作PowerShell中的变量数据
以下是生成变量内容的脚本部分。
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'的方法,因此方法调用失败。”
我对目前从哪里去的地方感到不知所措。
非常感谢,这正是我需要向前推进的。再次,谢谢一堆。 – 2011-06-03 15:57:16