SPBackupRestoreConsole.FindItems method
從指定的備份或還原作業中取得指定之的SharePoint Foundation元件。
Namespace: Microsoft.SharePoint.Administration.Backup
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'宣告
Public Shared Function FindItems ( _
id As Guid, _
item As String _
) As SPBackupRestoreObjectCollection
'用途
Dim id As Guid
Dim item As String
Dim returnValue As SPBackupRestoreObjectCollection
returnValue = SPBackupRestoreConsole.FindItems(id, _
item)
public static SPBackupRestoreObjectCollection FindItems(
Guid id,
string item
)
參數
id
Type: System.Guid代表備份或還原作業SPBackupRestoreConsoleObjectGuid識別碼。
item
Type: System.String可以備份或還原的元件或部分名稱符合多個元件的名稱。
傳回值
Type: Microsoft.SharePoint.Administration.Backup.SPBackupRestoreObjectCollection
SPBackupRestoreObjectCollection 表示所有SPBackupRestoreObject名稱比對item。
Examples
以下顯示SPBackupRestoreObjectCollection類別,確保元件名稱送出使用者的唯一方法中所識別為元件會處理的備份或還原作業的樹狀目錄的頂端的單一元件。完整範例和它的詳細的資訊,請參閱 < How to: Programmatically Back Up Content。
private static SPBackupRestoreObject EnsureUniqueValidComponentName(SPBackupRestoreSettings settings, ref Guid operationGUID)
{
SPBackupRestoreObjectCollection list = SPBackupRestoreConsole.FindItems(operationGUID, settings.IndividualItem);
SPBackupRestoreObject component = null;
if (list.Count <= 0)
{
Console.WriteLine("There is no component with that name. Run again with a new name.");
Console.WriteLine("Press Enter to continue.");
Console.ReadLine();
}
else if (list.Count > 1) // The component name specified is ambiguous. Prompt user to be more specific.
{
Console.WriteLine("More than one component matches the name you entered.");
Console.WriteLine("Run again with one of the following:");
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine("\t{0}", list[i].ToString());
}
Console.WriteLine("Press Enter to continue.");
Console.ReadLine();
}
else
{
component = list[0];
}
return component;
}// end EnsureUniqueValidComponentName
Private Shared Function EnsureUniqueValidComponentName(ByVal settings As SPBackupRestoreSettings, ByRef operationGUID As Guid) As SPBackupRestoreObject
Dim list As SPBackupRestoreObjectCollection = SPBackupRestoreConsole.FindItems(operationGUID, settings.IndividualItem)
Dim component As SPBackupRestoreObject = Nothing
If list.Count <= 0 Then
Console.WriteLine("There is no component with that name. Run again with a new name.")
Console.WriteLine("Press Enter to continue.")
Console.ReadLine()
ElseIf list.Count > 1 Then ' The component name specified is ambiguous. Prompt user to be more specific.
Console.WriteLine("More than one component matches the name you entered.")
Console.WriteLine("Run again with one of the following:")
For i As Integer = 0 To list.Count - 1
Console.WriteLine(vbTab & "{0}", list(i).ToString())
Next i
Console.WriteLine("Press Enter to continue.")
Console.ReadLine()
Else
component = list(0)
End If
Return component
End Function ' end EnsureUniqueValidComponentName
下列範例會示範如何使用此方法會顯示在樹狀檢視中的伺服器陣列中的所有元件的主控台應用程式中。
static void Main(string[] args)
{
SPBackupSettings settings = (SPBackupSettings)SPBackupRestoreSettings.GetBackupSettings(@"\\server\Backups", "full");
Guid backup = SPBackupRestoreConsole.CreateBackupRestore(settings);
SPBackupRestoreObjectCollection list = SPBackupRestoreConsole.FindItems(backup, "Farm");
DisplayThisAndChildrensNames(list[0],0);
foreach (SPBackupRestoreObject oBURO in list)
{
Console.WriteLine("Name: " + oBURO.DisplayName);
foreach (SPBackupRestoreObject oBUROchild in oBURO.Children)
{
Console.WriteLine("Name: " + oBUROchild.DisplayName);
}
}
private static void DisplayThisAndChildrensNames(SPBackupRestoreObject component, Int32 depth)
{
Int32 currentDepth = 0;
while (currentDepth < depth)
{
Console.Write("\t");
currentDepth++;
}
Console.Write("Name: " + component.DisplayName +"\n");
foreach (SPBackupRestoreObject oChild in component.Children)
{
DisplayThisAndChildrensNames(oChild, depth+1);
}
}
Shared Sub Main(ByVal args() As String)
Dim settings As SPBackupSettings = CType(SPBackupRestoreSettings.GetBackupSettings("\\server\Backups", "full"), SPBackupSettings)
Dim backup As Guid = SPBackupRestoreConsole.CreateBackupRestore(settings)
Dim list As SPBackupRestoreObjectCollection = SPBackupRestoreConsole.FindItems(backup, "Farm")
DisplayThisAndChildrensNames(list(0),0)
For Each oBURO As SPBackupRestoreObject In list
Console.WriteLine("Name: " & oBURO.DisplayName)
For Each oBUROchild As SPBackupRestoreObject In oBURO.Children
Console.WriteLine("Name: " & oBUROchild.DisplayName)
Next oBUROchild
Next oBURO
End Sub
Private Shared Sub DisplayThisAndChildrensNames(ByVal component As SPBackupRestoreObject, ByVal depth As Int32)
Dim currentDepth As Int32 = 0
Do While currentDepth < depth
Console.Write(vbTab)
currentDepth += 1
Loop
Console.Write("Name: " & component.DisplayName & vbLf)
For Each oChild As SPBackupRestoreObject In component.Children
DisplayThisAndChildrensNames(oChild, depth+1)
Next oChild
End Sub