البرمجة

كيفية الحصول على اسم المالك بدون اسم الجهاز في C#

لتحقيق ما تريده، يمكنك استخدام الكود التالي للحصول على اسم المستخدم (owner) بدون اسم الجهاز في نهاية الاسم:

csharp
string user = File.GetAccessControl(textBox1.Text).GetOwner(typeof(NTAccount)).Value; string fileName = $"{user}.{DateTime.Now.ToString("dd-MM-yyyy")}.JPG";

في هذا الكود، سيتم استخدام Value بدلاً من ToString() للحصول على اسم المستخدم بدون اسم الجهاز. ثم يتم استخدام تاريخ اليوم لإنشاء اسم الملف المطلوب.

المزيد من المعلومات

لتحقيق هذا الهدف، يمكنك استخدام دالة GetOwner مع FileSecurity و SecurityIdentifier للحصول على اسم المالك (owner) بدون اسم الجهاز. هذا مثال بسيط يوضح كيفية القيام بذلك:

csharp
using System; using System.IO; using System.Security.AccessControl; using System.Security.Principal; class Program { static void Main() { string folderPath = @"C:\path\to\your\folder"; DirectoryInfo directoryInfo = new DirectoryInfo(folderPath); DirectorySecurity directorySecurity = directoryInfo.GetAccessControl(); SecurityIdentifier owner = directorySecurity.GetOwner(typeof(SecurityIdentifier)) as SecurityIdentifier; // Get the owner's name NTAccount ntAccount = owner.Translate(typeof(NTAccount)) as NTAccount; string ownerName = ntAccount.Value; // Use the owner's name to create the file name string fileName = $"{ownerName}.{DateTime.Now.ToString("dd-MM-yyyy")}.JPG"; Console.WriteLine(fileName); } }

تأكد من تعديل folderPath ليتماشى مع المسار الخاص بالمجلد الذي تريد البحث فيه عن الملفات.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر