You can use SPSecurity.RunWithElevatedPrivileges method for super access.
Executes the specified method with Full Control rights even if the user does not otherwise have Full Control.
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx
static void GetViews(SPSite site)
{
SPWeb spweb = site.OpenWeb();
foreach(SPUser oUser in spweb.AllUsers)
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
try
{
SPSite oElevSite = new SPSite(site.ID, oUser.UserToken);
SPWeb oElevWeb = oElevSite.RootWeb;
SPList splist = oElevWeb.Lists["CustomStatusList"];
SPViewCollection views = splist.Views;
foreach (SPView view in views)
{
if (view.PersonalView)
{
Console.WriteLine(oUser.Name +":"+ view.Title);
}
}
oElevWeb.Dispose();
oElevSite.Dispose();
}
catch
{
}
});
}
}