在powershell中使用-contains无效
我编写了一个Powershell脚本来删除/创建一个示例Biztalk应用程序 每当我尝试创建应用程序时。 Am正在检查是否存在使用以下条件的应用程序在powershell中使用-contains无效,powershell,Powershell,我编写了一个Powershell脚本来删除/创建一个示例Biztalk应用程序 每当我尝试创建应用程序时。 Am正在检查是否存在使用以下条件的应用程序 [void] [System.reflection.Assembly]::LoadWithPartialName("Microsoft.BizTalk.ExplorerOM") $Catalog = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer $Catalog.Connec
[void] [System.reflection.Assembly]::LoadWithPartialName("Microsoft.BizTalk.ExplorerOM")
$Catalog = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer
$Catalog.ConnectionString = "SERVER=$SQLServerInstance;DATABASE=$SQLCatalog;Integrated Security=SSPI"
if($Catalog.Applications -contains $AppName)
{
write-eventlog -logname "$logname" -Source "$Source" -eventid "$eventidError" -message "$errormessage" -entrytype "Error" -Computername "$Server"
}
else
{
....
invoke-expression $Addapp
}
这是它第一次创建应用程序。但当我第二次尝试运行时(已经创建了应用程序)。它仍然在执行真实的案例。它不执行else部分
请给我一些建议。是否有任何其他属性可以刷新以获取新添加的应用程序。根据$Catalog.applications
是Microsoft.BizTalk.Explorer.Application对象的数组,而您需要一个包含这些对象的名称字符串的数组。试着这样做:
if ( ($Catalog.Applications | select -Expand Name) -contains $AppName ) {
...
Write-EventLog ...
} else {
...
Invoke-Expression $Addapp
}
您能展示$catalog.applications中的内容吗?