PDA

View Full Version : سوال: خطای attempted to perform an unauthorized operation



sayan
سه شنبه 12 آذر 1392, 11:02 صبح
سلام وقت بخیر
من چند روزی که کل اینترنت زیر رو رو کردم ولی نتوانستم مشکلم را حل کنم!
هدف من این که توسط کد زیر بتوانم به کاربر جاری یک سیستم در یک پوشه security full control اضافه کنم. ولی نتوانستم و پیغام خطای attempted to perform an unauthorized operation می دهد.
خواهشمندم راهنمایی فرمایید.
با تشکر.

DirectoryInfo directoryInfo = new DirectoryInfo(DirectoryName);

// Get security settings.
DirectorySecurity dirSecurity = directoryInfo.GetAccessControl();

// Add the FileSystemAccessRule to the security settings.
dirSecurity.AddAccessRule(new FileSystemAccessRule(UserAccount, UserRights, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessType));
// Set the access settings.
directoryInfo.SetAccessControl(dirSecurity);
string tt = WindowsIdentity.GetCurrent().IsAuthenticated.ToStr ing();

plus
سه شنبه 12 آذر 1392, 13:31 عصر
اگر منظورتون از کاربر جاری، کاربری هست که برنامه رو اجرا میکنه، احیانا اون کاربر اجازه تعیین سطح دسترسی روی فولدر مورد نظر رو نداره...برنامه رو در حالت Run as Administrator اجرا کنید ببینید چی میشه.

sayan
سه شنبه 12 آذر 1392, 15:15 عصر
از این طریق درست کار می کند ولی چگونه می توان در کد برنامه طوری تعریف کرد که اگر کاربر دوبار روی برنامه کلیک کرد همین اتفاق بیافتد

plus
سه شنبه 12 آذر 1392, 19:14 عصر
اینجا (http://stackoverflow.com/questions/2818179/how-to-force-my-net-app-to-run-as-administrator-on-windows-7)رو بخونید.

sayan
شنبه 23 آذر 1392, 16:57 عصر
چرا بگیر نگیر دارد!!

<requestedExecutionLevel level="highestAvailable" uiAccess="false" />


من این تیکه کد را به برنامه اضافه کردم ولی در بعضی سیستم ها جواب می دهد ولی در بعضی سیستم ها همان پیغام خطای attempted to perform an unauthorized operation را می دهد.
لطفا مرا راهنمایی کنید . :گریه::گریه:

plus
شنبه 23 آذر 1392, 20:47 عصر
چرا بگیر نگیر دارد!!

<requestedExecutionLevel level="highestAvailable" uiAccess="false" />


من این تیکه کد را به برنامه اضافه کردم ولی در بعضی سیستم ها جواب می دهد ولی در بعضی سیستم ها همان پیغام خطای attempted to perform an unauthorized operation را می دهد.
لطفا مرا راهنمایی کنید . :گریه::گریه:
احتمالا UAC تون اون سیستم ها غیر فعال هست.برای پوشش دادن اون حالت شما میتونید هنگام اجرای برنامه بررسی کنید که آیا کاربر Administator هست یا نه و در صورتی که نیست برنامه رو ببندید تا کاربر مجبور بشه Run As Administator کنه. برای بررسی Admin بودن اینجا (http://msdn.microsoft.com/en-us/library/46ks97y7.aspx)رو ببینید.

sayan
یک شنبه 24 آذر 1392, 07:46 صبح
کاربر جاری جزء گروه Administrator است. ولی باز همان پیغام را می دهد.
در بعضی سیستم ها (در شبکه داخلی)، کد کاربری کاربر جاری از طریق Active Directory به سیستم مورد نظر دسترسی داده است و در کنترل پنل سیستم قسمت user Accounts، کد کاربری شخص نیز وجود ندارد. در این موقع نیز پیغام خطا را می دهد.

plus
یک شنبه 24 آذر 1392, 23:24 عصر
اینکه کاربر جزو گروه Administrator باشه کافی نیست. وقتی UAC غیر فعاله برنامه باید Run As Administrator بشه.ولی در حالت شبکه ش نمیدونم چجوری میشه.