Applying User Permissions on any Folder using C#

Applying user permissions on any folder using C#.

using System;

using System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
System.Security.AccessControl;
using
System.IO;

namespace ChangeFolderPermission

{
    class
Program

    {

        static void Main(string[] args)

        {
 
            string desktopFolderPath = @"D:\Temp";

            FileSystemAccessRule iis_iusrs = new FileSystemAccessRule("IIS_IUSRS",

                FileSystemRights.FullControl,

                InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,

                PropagationFlags.None,

                AccessControlType.Allow);

            FileSystemAccessRule networkService = new FileSystemAccessRule("NETWORK SERVICE",

                FileSystemRights.FullControl,

                InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,

                PropagationFlags.None,

                AccessControlType.Allow);

            System.IO.DirectoryInfo desktopFolderDirectory = new System.IO.DirectoryInfo(desktopFolderPath);

            DirectorySecurity directorySecurity = null;
 
            if (!desktopFolderDirectory.Exists)

            {

                System.IO.Directory.CreateDirectory(desktopFolderPath);

                directorySecurity = desktopFolderDirectory.GetAccessControl();

                directorySecurity.AddAccessRule(iis_iusrs);

                directorySecurity.AddAccessRule(networkService);

                desktopFolderDirectory.SetAccessControl(directorySecurity);

            }

           
else

            {

                directorySecurity = desktopFolderDirectory.GetAccessControl();

                directorySecurity.AddAccessRule(iis_iusrs);

                directorySecurity.AddAccessRule(networkService);

                desktopFolderDirectory.SetAccessControl(directorySecurity);

            }

        }

    }

}