Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在powershell中使用-contains无效_Powershell - Fatal编程技术网

在powershell中使用-contains无效

在powershell中使用-contains无效,powershell,Powershell,我编写了一个Powershell脚本来删除/创建一个示例Biztalk应用程序 每当我尝试创建应用程序时。 Am正在检查是否存在使用以下条件的应用程序 [void] [System.reflection.Assembly]::LoadWithPartialName("Microsoft.BizTalk.ExplorerOM") $Catalog = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer $Catalog.Connec

我编写了一个Powershell脚本来删除/创建一个示例Biztalk应用程序

每当我尝试创建应用程序时。 Am正在检查是否存在使用以下条件的应用程序

[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中的内容吗?