2012-05-11 2 views
1

PowerShell을 사용하여 사이트에 QuickLaunch 링크를 추가하고 싶습니다.SharePoint 사이트의 새로운 빠른 시작 링크 추가

내가 현재 사용하고 스크립트는 다음과 같습니다

다음과 같은 오류가 발생
$web = Get-SPWeb http://sp_3/Deps 
$node = New-Object -TypeName Microsoft.SharePoint.Navigation.SPNavigationNode 
    -ArgumentList "LinkTitle", "http://sp_3/Deps/SUP" 
$web.Navigation.QuickLaunch.Add($node); 
$web.Update() 

: 내가 잘못 뭐하는 거지

Can not find an overload for the "Add" and the number of arguments: "1." line: 1 char: 32 
    + $ Web.Navigation.QuickLaunch.Add <<<< ($ node); 
    + CategoryInfo: NotSpecified: (:) [], MethodException 
    + FullyQualifiedErrorId: MethodCountCouldNotFindBest 

?

답변

1

메서드 SPNavigationNodeCollection.Add에는 두 번째 매개 변수가 필요합니다. 새로 추가 된 매개 변수를 뒤에 추가하려면 기존 SPNavigationNode을 사용해야합니다. 예를 들어 by URL 중 하나를 찾거나 컬렉션을 열거하여 찾을 수 있습니다. 또는 새 것으로 정면 (AddAsFirst) 또는 등 (AddAsLast)으로 옮기십시오.

$web.Navigation.QuickLaunch.AddAsLast($node) 

업데이트 : 사이트 '그룹에 링크를 추가하는 방법 :

$quickLaunch = $web.Navigation.QuickLaunch 
# Print the $quickLaunch collection and choose a property 
# identifying the best the link group you want. I chose URL. 
$sitesUrl = "/sites/team/_layouts/viewlsts.aspx" 
$sitesGroup = $quickLaunch | Where-Object { $_.Url -eq $sitesUrl } 
$sitesGroup.Children.AddAsLast($node) 

--- Ferda

+0

감사합니다!) 감사합니다! '$ web = Get-SPWeb http : // sp_3/Deps $ node = New-Object -TypeName Microsoft.SharePoint.Navigation.SPNavigationNode -ArgumentList "LinkTitle", "http : // sp_3/Deps/SUP", 1 $ web.Navigation.QuickLaunch.Add ($ node); '이 코드를 사용하십시오. 귀하의 사이트에 뚱뚱한 링크가 있습니다. (이제 내 링크는 외딴 곳의 빠른 실행 표시 줄에 있습니다.) 질문 : 내 사이트 링크가 사이트 도구로 변경 되었습니까? – spbsmile

+0

당신이 나를 이해하기를 바랍니다. – spbsmile

+0

사이트는 링크와 링크 그룹입니다. 내 대답에 자식 링크를 추가하는 방법에 대한 업데이트를 참조하십시오. –

2

아! This page에는 가장 훌륭한 자습서와 예제가 있습니다. 여기 나를 위해 일한 무엇입니까 (SP 2010)

$quickLaunch = $currentWeb.navigation.quicklaunch 
$libheading = $quickLaunch | where { $_.Title -eq "Libraries" } 
$newnode = New-Object Microsoft.SharePoint.Navigation.SPNavigationNode($whattitle, $myurllink, $true) 
$libheading.Children.AddAsLast($newnode) 
$currentweb.update() 
+1

SharePoint 2013을 사용하여 문서 라이브러리를 가리키는 노드를 만들 때 경고 : 위와 같이 노드를 추가하면 ** 드롭 가능 ** 링크가 생성되지 않습니다. 따라서이 경우 list.OnQuickLaunch 속성을 설정하여 노드를 자동으로 생성하십시오. –

+0

다른 사람들을위한 포인터 주셔서 감사합니다. 나는 아직도 2010 년 자신을 고수하고있다. +1 – bgmCoder

관련 문제