{"id":123,"date":"2015-03-04T12:27:35","date_gmt":"2015-03-04T17:27:35","guid":{"rendered":"http:\/\/www.ccrossan.com\/?p=123"},"modified":"2015-03-04T12:27:35","modified_gmt":"2015-03-04T17:27:35","slug":"fim-portal-no-access-for-fim-admin-account","status":"publish","type":"post","link":"https:\/\/crossan007.dev\/blog\/identity-management\/fim-portal-no-access-for-fim-admin-account\/","title":{"rendered":"FIM Portal No Access for FIM Admin Account"},"content":{"rendered":"\n<div class=\"twitter-share\"><a href=\"https:\/\/twitter.com\/intent\/tweet?via=crossan007\" class=\"twitter-share-button\">Tweet<\/a><\/div>\n<p>Today&#8217;s adventure with Forefront Identity Manager started when I was unable to log into the <strong>FIM portal<\/strong>. \u00a0Some digging revealed that the accountName attribute for my admin user had been set to null (probably from too much tinkering with sync rules).<\/p>\n<p>I realized that the accountName was probably the issue by two indicators: there was no account name attribute for the FIM Admin object in the FIM <strong>Synchronization Service Manager<\/strong> application, and because the query below referencing the ObjectValueString table lacked some attributes. The <a href=\"http:\/\/www.wapshere.com\/missmiis\/change-fimadmin-ps1\">change-fimadmin.ps1<\/a> script helped me determine these\u00a0SQL sanity check queries.<\/p>\n<p>I had already eliminated the <a href=\"https:\/\/jorgequestforknowledge.wordpress.com\/2013\/01\/09\/fim-portal-access-for-any-regular-ad-user-account-how-to-enable-and-troubleshoot\/\">usual suspects<\/a> for not being able to access the portal (ObjectSID, MPRs, etc), so this stumped me for a little while<\/p>\n<p>Anyway, I needed a way to get back in the portal (and I didn&#8217;t want to re-install), so I came up with this script that uses the FIM <strong>PowerShell<\/strong> modules to set the accountName attribute of the FIM Admin user (identified by the <a href=\"http:\/\/social.technet.microsoft.com\/wiki\/contents\/articles\/22439.fim-2010-r2-well-known-guids.aspx\">well-known admin user GUID<\/a>).<\/p>\n<p>I used the script on\u00a0<a href=\"http:\/\/social.technet.microsoft.com\/wiki\/contents\/articles\/329.how-to-use-powershell-to-set-the-required-attributes-for-the-fim-portal-access.aspx\">How to Use PowerShell to Set the Required Attributes for the FIM Portal Access<\/a>\u00a0as a starting point, modifying it to set only the accountName attribute.<\/p>\n<blockquote><p>$adminAccountName=&#8221;accountNameHere&#8221;<\/p>\n<p>If(@(get-pssnapin | where-object {$_.Name -eq &#8220;FIMAutomation&#8221;} ).count -eq 0) {add-pssnapin FIMAutomation}<\/p>\n<p>Function SetAttribute<br \/>\n{<br \/>\nPARAM($CurObject, $AttributeName, $AttributeValue)<br \/>\nEND<br \/>\n{<br \/>\n$ImportChange = New-Object Microsoft.ResourceManagement.Automation.ObjectModel.ImportChange<br \/>\n$ImportChange.Operation = 1<br \/>\n$ImportChange.AttributeName = $AttributeName<br \/>\n$ImportChange.AttributeValue = $AttributeValue<br \/>\n$ImportChange.FullyResolved = 1<br \/>\n$ImportChange.Locale = &#8220;Invariant&#8221;<br \/>\nIf ($CurObject.Changes -eq $null) {$CurObject.Changes = (,$ImportChange)}<br \/>\nElse {$CurObject.Changes += $ImportChange}<br \/>\n}<br \/>\n}<br \/>\n$curObject= export-fimconfig -uri $URI \u2013onlyBaseResources -customconfig (&#8220;\/Person[ObjectID='{7fb2b853-24f0-4498-9534-4e10589723c4}&#8217;]&#8221;)<\/p>\n<p>$ImportObject = New-Object Microsoft.ResourceManagement.Automation.ObjectModel.ImportObject<\/p>\n<p>$ImportObject.ObjectType = $curObject.ResourceManagementObject.ObjectType<br \/>\n$ImportObject.TargetObjectIdentifier = $CurObject.ResourceManagementObject.ObjectIdentifier<br \/>\n$ImportObject.SourceObjectIdentifier = $CurObject.ResourceManagementObject.ObjectIdentifier<br \/>\n$ImportObject.State = 1<\/p>\n<p>SetAttribute -CurObject $ImportObject -AttributeName &#8220;AccountName&#8221; -AttributeValue\u00a0$adminAccountName<br \/>\n$ImportObject | Import-FIMConfig -uri $URI -ErrorVariable Err -ErrorAction SilentlyContinue<\/p>\n<p>&nbsp;<\/p><\/blockquote>\n<p>After running this script, you should be able to log into the FIM portal again.<\/p>\n<p>Helpful places to look also include the FIMService database. \u00a0Particularly the ObjectValueString and UserSecurityIdentifiers Tables.<\/p>\n<p>&nbsp;<\/p>\n<p>The following query represents the values for the FIM Admin User, and should yield 7 rows(Attribute Keys 1,66,68,70,117,125,132)<\/p>\n<blockquote><p>SELECT TOP 1000 [AttributeID]<br \/>\n,[ObjectKey]<br \/>\n,[ObjectTypeKey]<br \/>\n,[AttributeKey]<br \/>\n,[SequenceID]<br \/>\n,[LocaleKey]<br \/>\n,[ValueString]<br \/>\n,[Multivalued]<br \/>\nFROM [FIMService].[fim].[ObjectValueString]<\/p>\n<p>where ObjectKey =2340<\/p><\/blockquote>\n<p>The following query represents the SID, in HEX form, of the FIM Admin User, and should yield 1 row:<\/p>\n<blockquote><p>SELECT TOP 1000 [UserObjectKey]<br \/>\n,[SecurityIdentifier]<br \/>\nFROM [FIMService].[fim].[UserSecurityIdentifiers]<br \/>\nwhere UserObjectKey =2340<\/p>\n<p>&nbsp;<\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today&#8217;s adventure with Forefront Identity Manager started when I was unable to log into the FIM portal. \u00a0Some digging revealed that the accountName attribute for my admin user had been set to null (probably from too much tinkering with sync rules). I realized that the accountName was probably the issue by two indicators: there was &hellip; <a href=\"https:\/\/crossan007.dev\/blog\/identity-management\/fim-portal-no-access-for-fim-admin-account\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">FIM Portal No Access for FIM Admin Account<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[58,56,44,47,29],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/crossan007.dev\/blog\/identity-management\/fim-portal-no-access-for-fim-admin-account\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FIM Portal No Access for FIM Admin Account - Charles&#039; Blog\" \/>\n<meta property=\"og:description\" content=\"Today&#8217;s adventure with Forefront Identity Manager started when I was unable to log into the FIM portal. \u00a0Some digging revealed that the accountName attribute for my admin user had been set to null (probably from too much tinkering with sync rules). I realized that the accountName was probably the issue by two indicators: there was &hellip; Continue reading FIM Portal No Access for FIM Admin Account &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/crossan007.dev\/blog\/identity-management\/fim-portal-no-access-for-fim-admin-account\/\" \/>\n<meta property=\"og:site_name\" content=\"Charles&#039; Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-03-04T17:27:35+00:00\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"crossan007\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/crossan007.dev\/blog\/#website\",\"url\":\"https:\/\/crossan007.dev\/blog\/\",\"name\":\"Charles&#039; Blog\",\"description\":\"SharePoint | PowerShell | Exchange | SCCM | Ubuntu | PHP | JavaScript | A\/V Live Production | More...\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/crossan007.dev\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/crossan007.dev\/blog\/identity-management\/fim-portal-no-access-for-fim-admin-account\/#webpage\",\"url\":\"https:\/\/crossan007.dev\/blog\/identity-management\/fim-portal-no-access-for-fim-admin-account\/\",\"name\":\"FIM Portal No Access for FIM Admin Account - Charles&#039; Blog\",\"isPartOf\":{\"@id\":\"https:\/\/crossan007.dev\/blog\/#website\"},\"datePublished\":\"2015-03-04T17:27:35+00:00\",\"dateModified\":\"2015-03-04T17:27:35+00:00\",\"author\":{\"@id\":\"https:\/\/crossan007.dev\/blog\/#\/schema\/person\/bd99569cd81332c8fd866d023848b979\"},\"breadcrumb\":{\"@id\":\"https:\/\/crossan007.dev\/blog\/identity-management\/fim-portal-no-access-for-fim-admin-account\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/crossan007.dev\/blog\/identity-management\/fim-portal-no-access-for-fim-admin-account\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/crossan007.dev\/blog\/identity-management\/fim-portal-no-access-for-fim-admin-account\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/crossan007.dev\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"FIM Portal No Access for FIM Admin Account\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/crossan007.dev\/blog\/#\/schema\/person\/bd99569cd81332c8fd866d023848b979\",\"name\":\"crossan007\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/crossan007.dev\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fff72c74fb6a0da29accf0db83ad4b4b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fff72c74fb6a0da29accf0db83ad4b4b?s=96&d=mm&r=g\",\"caption\":\"crossan007\"},\"url\":\"https:\/\/crossan007.dev\/blog\/author\/crossan007\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/crossan007.dev\/blog\/identity-management\/fim-portal-no-access-for-fim-admin-account\/","og_locale":"en_US","og_type":"article","og_title":"FIM Portal No Access for FIM Admin Account - Charles&#039; Blog","og_description":"Today&#8217;s adventure with Forefront Identity Manager started when I was unable to log into the FIM portal. \u00a0Some digging revealed that the accountName attribute for my admin user had been set to null (probably from too much tinkering with sync rules). I realized that the accountName was probably the issue by two indicators: there was &hellip; Continue reading FIM Portal No Access for FIM Admin Account &rarr;","og_url":"https:\/\/crossan007.dev\/blog\/identity-management\/fim-portal-no-access-for-fim-admin-account\/","og_site_name":"Charles&#039; Blog","article_published_time":"2015-03-04T17:27:35+00:00","twitter_misc":{"Written by":"crossan007","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/crossan007.dev\/blog\/#website","url":"https:\/\/crossan007.dev\/blog\/","name":"Charles&#039; Blog","description":"SharePoint | PowerShell | Exchange | SCCM | Ubuntu | PHP | JavaScript | A\/V Live Production | More...","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/crossan007.dev\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/crossan007.dev\/blog\/identity-management\/fim-portal-no-access-for-fim-admin-account\/#webpage","url":"https:\/\/crossan007.dev\/blog\/identity-management\/fim-portal-no-access-for-fim-admin-account\/","name":"FIM Portal No Access for FIM Admin Account - Charles&#039; Blog","isPartOf":{"@id":"https:\/\/crossan007.dev\/blog\/#website"},"datePublished":"2015-03-04T17:27:35+00:00","dateModified":"2015-03-04T17:27:35+00:00","author":{"@id":"https:\/\/crossan007.dev\/blog\/#\/schema\/person\/bd99569cd81332c8fd866d023848b979"},"breadcrumb":{"@id":"https:\/\/crossan007.dev\/blog\/identity-management\/fim-portal-no-access-for-fim-admin-account\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/crossan007.dev\/blog\/identity-management\/fim-portal-no-access-for-fim-admin-account\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/crossan007.dev\/blog\/identity-management\/fim-portal-no-access-for-fim-admin-account\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/crossan007.dev\/blog\/"},{"@type":"ListItem","position":2,"name":"FIM Portal No Access for FIM Admin Account"}]},{"@type":"Person","@id":"https:\/\/crossan007.dev\/blog\/#\/schema\/person\/bd99569cd81332c8fd866d023848b979","name":"crossan007","image":{"@type":"ImageObject","@id":"https:\/\/crossan007.dev\/blog\/#personlogo","inLanguage":"en-US","url":"https:\/\/secure.gravatar.com\/avatar\/fff72c74fb6a0da29accf0db83ad4b4b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fff72c74fb6a0da29accf0db83ad4b4b?s=96&d=mm&r=g","caption":"crossan007"},"url":"https:\/\/crossan007.dev\/blog\/author\/crossan007\/"}]}},"_links":{"self":[{"href":"https:\/\/crossan007.dev\/blog\/wp-json\/wp\/v2\/posts\/123"}],"collection":[{"href":"https:\/\/crossan007.dev\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/crossan007.dev\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/crossan007.dev\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/crossan007.dev\/blog\/wp-json\/wp\/v2\/comments?post=123"}],"version-history":[{"count":4,"href":"https:\/\/crossan007.dev\/blog\/wp-json\/wp\/v2\/posts\/123\/revisions"}],"predecessor-version":[{"id":127,"href":"https:\/\/crossan007.dev\/blog\/wp-json\/wp\/v2\/posts\/123\/revisions\/127"}],"wp:attachment":[{"href":"https:\/\/crossan007.dev\/blog\/wp-json\/wp\/v2\/media?parent=123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/crossan007.dev\/blog\/wp-json\/wp\/v2\/categories?post=123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/crossan007.dev\/blog\/wp-json\/wp\/v2\/tags?post=123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}