我目前正在尝试编写以下Powershell脚本,在SharePoint术语中,它检索管理中心URL(在$adminUrl
中检索),然后打开带有该URL的Internet Explorer窗口。
我还要将另一个字符串附加到$adminUrl
,然后再将其传递给Navigate
方法:
$adminUrl = Get-spwebapplication -includecentraladministration | where {$_.DisplayName -eq "SharePoint Central Administration v4"} | select Url
$ie = New-Object -ComObject InternetExplorer.Application
$ie.Navigate($adminUrl + "/someurl") # <= Trying to pass the url here
$ie.Visible = $true
但是在尝试这样做时我遇到了这个例外:
Cannot find an overload for "Navigate" and the argument count: "1".
At \\a\setup.ps1:9 char:1
+ $ie.Navigate($adminUrl)
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodException
+ FullyQualifiedErrorId : MethodCountCouldNotFindBest
我在这里面临铸造问题吗?
答案 0 :(得分:1)
$ adminUrl是一个具有url属性的对象,因此您需要使用子表达式来传递:
$ie.Navigate($adminUrl.Url + "/someurl")
或使用子表达式:
$ie.Navigate("$($adminUrl.Url)/someurl")
只有在首先展开Url属性的值时,才能传递$ adminUrl的值:
...| select -ExpandProperty Url
$ie.Navigate("$adminUrl/someurl")