Frage

Es wurde also ein Besprechungsarbeitsbereich erstellt. Nachfolgende Besprechungen, die dann nacheinander mit dem Arbeitsbereich verbunden sind, als die Treffen, die geplant waren. Irgendwann löschte der Organisator "etwas" und erscheint nicht mehr in ihrem Outlook -Kalender oder im Veranstaltungskalender. Die Meeting -Instanz, die angeblich noch entfernt wurde, ist jedoch immer noch da. Und die kleine Dropdown, die sonst glücklich bitten würde, diese Instanz zu halten, zu bewegen oder zu löschen (Nummer 31) zeigt sich nicht.

Ich habe die folgenden Dinge ausprobiert:

  • Entfernen der "Serienelemente in der Ordner der Seiten der SEITEN von SharePoint Designer in der Ordner der Seiten ... nicht die klügste Bewegung, aber es hatte zuvor funktioniert.
  • Versuchte das System durch Ausgabe der folgenden URL -Anfrage zu versuchen:

    http: //myserver/en/mydep/mymaeting/lists/meeting%20series/movetodt.aspx?& Source = http: //myserver/en/mydep/mymaeting/default.aspx%3FinStance%3D31%26Pagierte%3Dnext%26p_ StartTimeUtc%3D20090421t20000Z%%%%257b00%252d1d1d1da2df4f%252d1187%252d4.%257b00F4f%252d1187%252d4.%257b00F4f%252D1187%252d4.%257b00.

und dann versuche, ein weiteres Treffen auszuwählen. Kein arbeitslos. SharePoint Out-Sklatised Me

Dinge, die ich versuchen möchte (in dieser Reihenfolge)

  1. Versuchen Sie die Option "Löschen" anstelle der Option für Verschieben
  2. Vielleicht sehen Sie, ob ein STSADM -Commmand davon verfügbar ist
  3. Schreiben Sie etwas C#, um mit den Workspaces.asmx zu arbeiten, um mich von der Instanz zu befreien
  4. Sicherung/Wiederherstellung des Arbeitsbereichs vor Ort
  5. Beten Sie still für göttliche Interventionen.

Alle Vorschläge würden sehr geschätzt.

War es hilfreich?

Lösung 2

Am Ende musste ich die großen Waffen gegen 2008 aufbauen und mich an die Arbeit machen. Ich entschied, dass ich die Webdienste und nicht das Objektmodell verwenden würde, damit ich mich nicht auf dem Server selbst entwickeln muss. Erstellen Sie mithilfe des WCF -Frameworks einen Service -Verweis auf den Webdienst Meetings (ich nannte es Meetings). Sie benötigen auch eine Servicereferenz für Listen -Webdienst (in meinem Fall Listen) und initialisieren Sie dann den Proxy:

MeetingSoapClient mSClient=new Meeting SoapClient();
mSClient.ClientCredentials.Windows.ClientCredential= new NetworkCredential();

ListsSoapClient lSClient=new ListsSoapClient();
lSClient.ClientCredentials.Windows.ClientCredential = new NetworkCredential();

Rufen Sie dann die Methode zum Entfernen der Vermittlung des Proxys an:

mSClient.RemoveMeeting(0, InstanceUID(InstanceID), uint.MaxValue, DateTime.Now, true);

Sie müssen die Instanz -ID des Treffens kennen. Wenn Sie über den Link zum Meeting schweben, erhalten Sie dies normalerweise. Sie müssen dann diese Meetings eindeutige Instanz -ID finden. Die Instanz -UID finden Sie aus diesem Code:

private static string InstanceUID(uint InstanceID)
        {
            /*Use the CreateElement method of the document object to create elements for the parameters that use XML.*/
            XmlDocument xmlDoc = new XmlDocument();
            XmlElement query = xmlDoc.CreateElement("Query");
            XmlElement viewFields = xmlDoc.CreateElement("ViewFields");
            XmlElement queryOptions = xmlDoc.CreateElement("QueryOptions");
            query.InnerXml = @"<Where><Eq><FieldRef Name=""ows_ID""/><Value Type=""Counter"">" + InstanceID + @"</Value></Eq></Where>";

            XmlNode ndResult = lSClient.GetListItems("Meeting Series", "", query, viewFields, "150", queryOptions, null);

            XmlNode mainNode = ndResult.ChildNodes.Item(1);
            mainNode = mainNode.ChildNodes.Item(1);
            XmlNode eventUID = mainNode.Attributes.GetNamedItem("ows_EventUID");
            return eventUID.InnerText;
        }

Ich überlasse die vollständige Erklärung, was jedes davon dem neugierigen Leser tut. Gehen Sie Google und seien Sie gesegnet.

Andere Tipps

Ich habe seit einiger Zeit nach einer Lösung gesucht, um Besprechungen aus einem Arbeitsbereich zu entfernen. Ich versuche die obige Lösung:

Meetings.MeetingsSoapClient meetings = new Meetings.MeetingsSoapClient();
meetings.ClientCredentials.Windows.ClientCredential = new NetworkCredential();

Ich habe den Arbeitsbereich GUID des Meeting während des Debuggens festcodiert:

meetings.RemoveMeeting(3, "STSTeamCalendarEvent:List:{1B049DAE-332F-4AB4-A169-2B438F460971}:Item:2", 0, DateTime.Now, true);

Ich erhalte eine Verwerfungsausnahme, die das Detail davon lautet:

Kann diese Aktion nicht ausfüllen. Bitte versuche es erneut.

Ich dachte irgendwie, dass dies ein Berechtigungsfehler ist, aber ich habe volle Kontrollberechtigungen für die Website - jemand hat irgendwelche Vorschläge?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top