أدوات تحويل الملف الشخصي لـ Microsoft 365

أداة تحويل الملفات الشخصية لـ Microsoft 365 تخطط مايكروسوفت لاستبدال بروتوكول خدمة ويب إكستشينج (EWS) لـ Exchange Online. هذا القرار يؤثر ليس فقط على MailStore بل أيضًا جميع الشركات التي تستخدم EWS. وهذا يجبر في المستقبل على اعتماد بدائل للوصول إلى صناديق البريد في Exchange Online. يمكن العثور على تفاصيل إضافية حول إنهاء بروتوكول EWS في مقالة الهجرة. نقدم أداة تحويل تساعدك على نقل الملفات الشخصية التي تعتمد على EWS والتي ستتوقف عن العمل في المستقبل.

30/04/2026 SintelSedat Akfidan 7 دقيقة قراءة
أدوات تحويل الملف الشخصي لـ Microsoft 365

الأدوات

يمكنك استدعاء واحد أو أكثر من الوظائف لمساعدتك في استعلام المستخدم.

تم تقديم توقيعات الوظائف داخل علامات XML : {"type": "function", "function": {"name": "google-surf__search", "description": "بحث جوجل فردي -> عنوان / رابط / نص ملخص لكل نتيجة. تتم تخزين النتائج لمدة 24 ساعة، لذا فإن تكرار الاستعلام مجاني - يفضل إعادة استعلام بدلاً من تخزين النتائج بنفسك. بالنسبة للأسئلة الحالية / اليومية / المفاجئة ضع SURF_CACHE_TTL_SEARCH_MS=0 لتجاوز التخزين المؤقت. الحد الافتراضي 10 (ماكس 20). المكالمة الأولى ~4s (تسخين كروم)، ثم ~2s. عند وجود CAPTCHA يفتح متصفح جوجل مرئيًا لحله (حماية IP مشترك)؛ SURF_CLOUD_MODE=true يجعله يفشل بسرعة بدلاً من ذلك.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {"query": {"type": "string", "minLength": 1, "maxLength": 400, "description": "استعلام بحث جوجل. استخدم عوامل site: واقتباسات للبحث الدقيق."}, "limit": {"default": 10, "description": "عدد النتائج القصوى (الحد الافتراضي 10).", "type": "integer", "minimum": 1, "maximum": 20}}, "required": ["query"]}}} {"type": "function", "function": {"name": "google-surf__search_parallel", "description": "تشغيل 2-10 بحث جوجل متزامنًا. استخدم هذا لمقارنة زوايا متعددة في مكالمة واحدة. كل استعلام يحسب ضد الحد الداخلي (حوالي 10/ دقيقة) - لا تكرر هذا للنسخة الكبيرة. المكالمة الأولى تضيف 5-10s pool warmup. فشل الاستعلامات الفردية يُعزل في مصفوفة النتائج. معطل في الوضع السحابي.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {"queries": {"minItems": 1, "maxItems": 10, "type": "array", "items": {"type": "string", "description": ""}, "description": "2-10 استعلامات لتشغيلها متزامنًا."}, "limit": {"default": 10, "description": "عدد النتائج لكل استعلام.", "type": "integer", "minimum": 1, "maximum": 20}}, "required": ["queries"]}}} {"type": "function", "function": {"name": "google-surf__extract", "description": "استرداد عنوان URL العام -> نص مقالة نظيف. HTML عبر Mozilla Readability؛ PDFs الأكاديمية (arxiv/biorxiv/Nature/OpenReview/NeurIPS/JMLR/PMLR/Springer/PubMed-via-PMC) تُكتشف تلقائيًا عبر Content-Type، %PDF سحر، citation_pdf_url meta، وقواعد URL لكل مجال. العمق التدريجي: mode=\"abstract\" يعود بـ ~1500 حرف (صفحة PDF 1 أو وصف HTML meta) - تحقق رخيص من الصلة قبل دفع كامل الجسم. mode=\"full\" (الافتراضي) يعود بالكامل مقالة. أفضل جهد: الفشل يعيد معلومات الخطأ بدلاً من رميها.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {"url": {"type": "string", "description": "URL العام http(s). يتم حظر العناوين الخاصة ما لم يكن SURF_ALLOW_PRIVATE=true."}, "max_chars": {"default": 8000, "description": "الحد من الجسم إلى عدد هذي الأحرف (الافتراضي 8000، يُحدد عبر SURF_EXTRACT_MAX_CHARS).", "type": "integer", "minimum": 200, "maximum": 50000}, "mode": {"default": "full", "description": "عمق الاستخراج. full = كامل جسم المقالة (الافتراضي؛ يستخدم Playwright إذا لزم الأمر). abstract = مسح رخيص: صفحة PDF 1 أو وصف HTML meta (~1500 حرف)؛ استخدم لتحديد الصلة قبل دفع نص كامل. metadata = عدد الصفحات فقط (PDF). PDFs الأكاديمية (arxiv/biorxiv/Nature/OpenReview/NeurIPS/JMLR/PMLR/Springer/PubMed-via-PMC) تُكتشف تلقائيًا؛ الوضع المجرد يتجنّب Playwright لهؤلاء.", "type": "string", "enum": ["full", "abstract", "metadata"]}}, "required": ["url"]}}} {"type": "function", "function": {"name": "google-surf__search_extract", "description": "بحث جوجل فردي + استخراج متوازي من النتائج العليا. الوضع الافتراضي mode=\"abstract\" يعود SERP مع ملخصات ~1500 حرف لكل نتيجة - مسح رخيص لما تحتويه النتائج العليا الفعلية، عدد أقل بكثير من الرموز من خلال تحميل جميع الجسد. انتقل إلى mode=\"full\" فقط عندما تحتاج إلى نصوص المقالات الفعلية (بطيء، عدد كبير من الرموز). فشل الاستخراج لكل صفحة يُعزل. معطل في الوضع السحابي.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {"query": {"type": "string", "minLength": 1, "maxLength": 400, "description": "استعلام البحث."}, "limit": {"default": 5, "description": "عدد النتائج للاستخراج (الحد الافتراضي 5، ماكس 10).", "type": "integer", "minimum": 1, "maximum": 10}, "max_chars": {"description": "قص كل جسد إلى هذا عدد من الأحرف. الافتراضي يعتمد على الوضع: ~1500 لملخص، 8000 للكل (SURF_EXTRACT_MAX_CHARS، محدود هنا إلى 20000).", "type": "integer", "minimum": 200, "maximum": 20000}, "mode": {"default": "abstract", "description": "عمق الاستخراج لكل نتيجة. abstract (الافتراضي) = مسح رخيص، ~1500 حرف لكل نتيجة، مثالي لتحديد الصلة. full = كامل الجسد لكل نتيجة، أبطأ بكثير وعدد كبير من الرموز؛ فقط عندما تحتاج فعلاً إلى نصوص المقالات.", "type": "string", "enum": ["full", "abstract"]}}, "required": ["query"]}}} {"type": "function", "function": {"name": "google-surf__health", "description": "حالة خادم MCP: الوضع المترابط + الانتقالات، استخدام الحدّة المعنية، حجم التخزين المؤقت، الإعدادات. اتصل بهذا إذا بدأت عمليات البحث فشل أو ترجع فارغة - تحقق من cascade.totalCaptchas و rateLimiter.queueSize، وتقليل حجم البحث إذا كانت عالية.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {}}}} {"type": "function", "function": {"name": "semgrep__semgrep_rule_schema", "description": "\nاحصل على مخطط قاعدة Semgrep\n\nاستخدم هذا الأداة عندما تحتاج إلى:\n - الحصول على المخطط المطلوب لكتابة قاعدة Semgrep\n - تحتاج إلى رؤية ما هي الحقول المتاحة لقاعدة Semgrep\n - تحقق من ما هي الحقول المتاحة لقاعدة Semgrep\n - تحقق من صحة تركيب قاعدة Semgrep\n", "parameters": {"properties": {}, "title": "semgrep_rule_schemaArguments", "type": "object"}}} {"type": "function", "function": {"name": "semgrep__get_supported_languages", "description": "\nيعيد قائمة اللغات المدعومة من قبل Semgrep\n\nاستخدم هذا الأداة فقط إذا كنت غير متأكد من اللغات التي يدعمها Semgrep.\n", "parameters": {"properties": {}, "title": "get_supported_languagesArguments", "type": "object"}}} {"type": "function", "function": {"name": "semgrep__semgrep_findings", "description": "\nيحصل على النتائج من واجهة API للمنصة Semgrep AppSec Findings.\n\nهذه الوظيفة تعيد نتائج الأمان، جودة الكود، والسلسلة التوريد التي تم تحديدها مسبقًا من خلال عمليات Semgrep المسح السابقة وتم رفعها إلى منصة Semgrep AppSec. لا تؤدي هذه الوظيفة مسحًا جديدًا أو تحليل الكود مباشرة. بدلًا من ذلك، تقوم بطلب بيانات النتائج التاريخية لمستودع معين أو مجموعة من المستودعات.\n\nالسلوك الافتراضي: بشكل افتراضي، يجب أن ترشح هذه الأداة حسب المستودع الحالي. يجب أن يحدد النموذج اسم المستودع الحالي ويمرره في معلمة 'repos' لضمان أن تكون النتائج محدودة بالكود المعني. ومع ذلك، يمكن للمستخدمين طلب تفاصيل من مستودعات أخرى بشكل صريح، وفي هذه الحالة يجب أن يحترم النموذج هذا الطلب.\n\nاستخدم هذه الوظيفة عندما يطلّب المُحفِّز ملخصًا، قائمة، أو تحليلًا للنتائج الموجودة، مثل:\n - "يرجى قائمة أفضل 10 نتائج الأمان ويقترح حلولًا لها."\n - "أظهر جميع الثغرات الحرجة المفتوحة في هذا المستودع."\n - "ملخص نتائج المسح الأخيرة لـ Semgrep."\n - "احصل على النتائج من المستودع X" (طلب صريح لمستودع مختلف)\n\nهذه الوظيفة مناسبة للقيام ب:\n- مراجعة، قائمة، أو تلخيص النتائج من المسح السابق.\n- تقديم نصائح قابلة للتنفيذ أو اقتراحات لإصلاح بناءً على بيانات المسح السابقة.\n\nلا تستخدم هذه الوظيفة لإجراء مسح جديد أو فحص كود لم يتم تحليله بعد من قبل\nSemgrep. لمسح جديد، استخدم الوظيفة المناسبة للمسح.\n", "parameters": {"properties": {"issue_type": {"default": "ISSUE_TYPE_SAST", "description": "نوع المشكلة لfiltration.", "enum": ["ISSUE_TYPE_SAST", "ISSUE_TYPE_SCA"], "title": "نوع المشكلة", "type": "string"}, "repos": {"default": [], "description": "قائمة بأسماء المستودعات لfiltration. اذكر اسم المالك والمستودع، مثال 'owner/repository'", "items": {"type": "string", "description": ""}, "title": "المستودعات", "type": "array"}, "status": {"default": "ISSUE_TAB_OPEN", "description": "حالة المشكلة لfiltration.", "enum": ["ISSUE_TAB_OPEN", "ISSUE_TAB_CLOSED", "ISSUE_TAB_IGNORED", "ISSUE_TAB_REVIEWING", "ISSUE_TAB_FIXING"], "title": "الحالة", "type": "string"}, "severities": {"anyOf": [{"items": {"enum": ["SEVERITY_CRITICAL", "SEVERITY_HIGH", "SEVERITY_MEDIUM", "SEVERITY_LOW"], "type": "string", "description": ""}, "type": "array", "description": ""}, {"type": "null", "description": ""}], "default": null, "description": "شدة المشكلات لfiltration.", "title": "الشدّة"}, "confidence": {"anyOf": [{"items": {"enum": ["CONFIDENCE_HIGH", "CONFIDENCE_MEDIUM", "CONFIDENCE_LOW"], "type": "string", "description": ""}, "type": "array", "description": ""}, {"type": "null", "description": ""}], "default": null, "description": "الثقة في المشكلات لfiltration.", "title": "الثقة"}, "autotriage_verdict": {"anyOf": [{"enum": ["VERDICT_TRUE_POSITIVE", "VERDICT_FALSE_POSITIVE"], "type": "string", "description": ""}, {"type": "null", "description": ""}], "default": null, "description": "نتيجة التriage التلقائي للمشكلات لfiltration. إذا لم يُقدّم، تُعاد النتائج مع أي نتيجة (بما في ذلك غير المقيّمة).", "title": "نتيجة التriage التلقائي"}, "refs": {"default": [], "description": "قائمة بمرجعات Git (أسماء الفروع) لfiltration النتائج. إذا لم تُقدّم، تُعاد فقط النتائج على الفرع الأساسي.", "items": {"type": "string", "description": ""}, "title": "مرجعات", "type": "array"}, "limit": {"default": 10, "description": "عدد أقصى للنتائج العائدة", "title": "الحد الأقصى", "type": "integer"}}, "title": "semgrep_findingsArguments", "type": "object"}}} {"type": "function", "function": {"name": "semgrep__semgrep_scan_with_custom_rule", "description": "\nيركز مسح Semgrep مع قاعدة مستخدمة على المحتوى الكودي المقدم\nويعيد النتائج في صيغة JSON\n\nاستخدم هذه الأداة عندما تحتاج إلى:\n - مسح ملفات الكود لبحث عن ثغرة أمان معينة غير المغطاة من قبل القواعد الافتراضية لـ Semgrep\n - مسح ملفات الكود لبحث عن مشكلة معينة غير المغطاة من قبل القواعد الافتراضية لـ Semgrep\n", "parameters": {"$defs": {"CodeFile": {"properties": {"path": {"description": "مسار ملف الكود", "title": "المسار", "type": "string"}, "content": {"description": "محتوى ملف الكود", "title": "المحتوى", "type": "string"}}, "required": ["path", "content"], "title": "ملف الكود", "type": "object"}}, "properties": {"code_files": {"description": "قائمة بملفات تحتوي على مفاتيح 'path' و'content'", "items": {"$ref": "#/$defs/CodeFile", "description": ""}, "title": "ملفات الكود", "type": "array"}, "rule": {"description": "نص قاعدة Semgrep بصيغة YAML", "title": "القاعدة", "type": "string"}}, "required": ["code_files", "rule"], "title": "semgrep_scan_with_custom_ruleArguments", "type": "object"}}} {"type": "function", "function": {"name": "semgrep__semgrep_scan", "description": "\nيركز مسح Semgrep محليًا على الملفات الكودية المعطاة ويعيد النتائج بصيغة JSON.\n\nيُفترض أن الملفات مسارات مطلقة لملفات الكود.\n\nاستخدم هذه الأداة عندما تحتاج إلى:\n - مسح ملفات الكود لبحث عن ثغرات أمان\n - مسح ملفات الكود لبحث عن مشكلات أخرى\n", "parameters": {"$defs": {"CodePath": {"properties": {"path": {"description": "مسار مطلق لملف الكود", "title": "المسار", "type": "string"}}, "required": ["path"], "title": "ملف الكود", "type": "object"}}, "properties": {"code_files": {"description": "قائمة بملفات تحتوي على مفاتيح 'path' تشير إلى مسارات مطلقة لملفات الكود", "items": {"$ref": "#/$defs/CodePath", "description": ""}, "title": "ملفات الكود", "type": "array"}}, "required": ["code_files"], "title": "semgrep_scanArguments", "type": "object"}}} {"type": "function", "function": {"name": "semgrep__get_abstract_syntax_tree", "description": "\nيعيد شجرة التعبير المجرد (AST) لملف الكود المعطى بصيغة JSON\n\nاستخدم هذه الأداة عندما تحتاج إلى:\n - الحصول على شجرة التعبير المجرد (AST) لملف الكود المعطى\n - الحصول على AST لملف\n - فهم بنية الكود بطريقة أكثر تفصيلًا\n - رؤية ما يراه المترجم في الكود\n", "parameters": {"properties": {"code": {"description": "الكود للحصول على AST له", "title": "الكود", "type": "string"}, "language": {"description": "لغة البرمجة للبرنامج", "title": "اللغة", "type": "string"}}, "