C# Top Level & Sub Folder

Ok so I'm not very good at explaining but here it goes.. I have a set of folders as Top Level folders along with sub folders inside. I want to know if anybody puts anything else besides the Top level folders and sub folders as shown on the pictures below (E.g. other documents/folders that shouldn't be there). If anybody does create any folders that they shouldn't have- I want to know the owner of the folder! Is this possible to code with C# using Visual Studio 2017?

Im new to C# so any help would be useful. Thank you!! //Get the root directory and print out some information about it. System.IO.DirectoryInfo dirInfo = di.RootDirectory; Console.WriteLine(dirInfo.Attributes.ToString());

        //Get the files in the directory and print out some information about them.
        System.IO.FileInfo[] fileNames = dirInfo.GetFiles("*.*");

        foreach (System.IO.FileInfo fi in fileNames)
            Console.WriteLine("{0}: {1}: {2}", fi.Name, fi.LastAccessTime, fi.Length);
        // Get the subdirectories directly that is under the root.
        // See "How to: Iterate Through a Directory Tree" for an example of how to
        // iterate through an entire tree.
        System.IO.DirectoryInfo[] dirInfos = dirInfo.GetDirectories("*.*");

        foreach (System.IO.DirectoryInfo d in dirInfos)
        // The Directory and File classes provide several static methods
        // for accessing files and directories.

        // Get the current application directory.
        string currentDirName = System.IO.Directory.GetCurrentDirectory();

        // Get an array of file names as strings rather than FileInfo objects.
        // Use this method when storage space is an issue, and when you might
        // hold on to the file name reference for a while before you try to access
        // the file.
        string[] files = System.IO.Directory.GetFiles(currentDirName, "*.txt");

        foreach (string s in files)
            // Create the FileInfo object only when needed to ensure
            // the information is as current as possible.
            System.IO.FileInfo fi = null;
                fi = new System.IO.FileInfo(s);
            catch (System.IO.FileNotFoundException e)
                // To inform the user and continue is
                // sufficient for this demonstration.
                // Your application may require different behavior.
            Console.WriteLine("{0} : {1}", fi.Name, fi.Directory);

        // Change the directory. In this case, first check to see
        // whether it already exists, and create it if it does not.
        // If this is not appropriate for your application, you can
        // handle the System.IO.IOException that will be raised if the
        // directory cannot be found.
        if (!System.IO.Directory.Exists(@"H:\TopLevelFolders\SubLevelFolders"))


        currentDirName = System.IO.Directory.GetCurrentDirectory();

        // Keep the console window open in debug mode.
        Console.WriteLine("Press any key to exit.");



Top Level Folders

Sub Level Folders