<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Add custom role to all users in ITSM forum</title>
    <link>https://www.servicenow.com/community/itsm-forum/add-custom-role-to-all-users/m-p/625163#M196942</link>
    <description>&lt;P&gt;i am developing a custom application on my PDI and have created a record producer to use on the service catalog. However, each time a user makes the request, i get an error message 'Requested record not found' .&amp;nbsp;Adding the custom role to the user seems to resole the problem. But my organization has almost 5000 users and as such its not feasible to manually add the role to all users. I used the script below, which seems to add the role with 'empty in the tole field.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How do i make this work. and dynamically assign the role to all new users (we have LDAP) integration.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token keyword"&gt;var&lt;/SPAN&gt; gr &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;GlideRecord&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;"sys_user"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;gr&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;query&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token keyword"&gt;while&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;gr&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;next&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token punctuation"&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token keyword"&gt;var&lt;/SPAN&gt; role &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;GlideRecord&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'sys_user_has_role'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;role&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;addQuery&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'user'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;gr&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;sys_id&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;role&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;addQuery&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'role'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'&amp;lt;sys_id of Role&amp;gt;'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;role&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;query&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;!&lt;/SPAN&gt;role&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;next&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token punctuation"&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;role&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;initialize&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;role&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;user &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; gr&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;sys_id&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; role&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;role &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"&amp;lt;sys_id of Role&amp;gt;"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;role&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;insert&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token punctuation"&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token punctuation"&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token punctuation"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/36722i8AB7D54F1A25AEE2/image-size/large?v=v2&amp;amp;px=999" title="find_real_file.png" alt="find_real_file.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Sun, 10 Mar 2019 13:36:07 GMT</pubDate>
    <dc:creator>Richard Tyler</dc:creator>
    <dc:date>2019-03-10T13:36:07Z</dc:date>
    <item>
      <title>Add custom role to all users</title>
      <link>https://www.servicenow.com/community/itsm-forum/add-custom-role-to-all-users/m-p/625163#M196942</link>
      <description>&lt;P&gt;i am developing a custom application on my PDI and have created a record producer to use on the service catalog. However, each time a user makes the request, i get an error message 'Requested record not found' .&amp;nbsp;Adding the custom role to the user seems to resole the problem. But my organization has almost 5000 users and as such its not feasible to manually add the role to all users. I used the script below, which seems to add the role with 'empty in the tole field.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How do i make this work. and dynamically assign the role to all new users (we have LDAP) integration.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token keyword"&gt;var&lt;/SPAN&gt; gr &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;GlideRecord&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;"sys_user"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;gr&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;query&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token keyword"&gt;while&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;gr&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;next&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token punctuation"&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token keyword"&gt;var&lt;/SPAN&gt; role &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;GlideRecord&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'sys_user_has_role'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;role&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;addQuery&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'user'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;gr&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;sys_id&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;role&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;addQuery&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'role'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'&amp;lt;sys_id of Role&amp;gt;'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;role&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;query&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;!&lt;/SPAN&gt;role&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;next&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token punctuation"&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;role&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;initialize&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;role&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;user &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; gr&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;sys_id&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; role&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;role &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"&amp;lt;sys_id of Role&amp;gt;"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;role&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;insert&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token punctuation"&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token punctuation"&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token punctuation"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/36722i8AB7D54F1A25AEE2/image-size/large?v=v2&amp;amp;px=999" title="find_real_file.png" alt="find_real_file.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 10 Mar 2019 13:36:07 GMT</pubDate>
      <guid>https://www.servicenow.com/community/itsm-forum/add-custom-role-to-all-users/m-p/625163#M196942</guid>
      <dc:creator>Richard Tyler</dc:creator>
      <dc:date>2019-03-10T13:36:07Z</dc:date>
    </item>
    <item>
      <title>Re: Add custom role to all users</title>
      <link>https://www.servicenow.com/community/itsm-forum/add-custom-role-to-all-users/m-p/625164#M196943</link>
      <description>&lt;P&gt;If the role needs to be added to every user, I believe you can use this script described in this article:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;https://docs.servicenow.com/bundle/london-application-development/page/script/useful-scripts/reference/r_AddRoleToEveryUser.html&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;After writing this , you can then schedule this job to run every day after your LDAP integration import.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please mark this as solved if this solves your problem.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Sun, 10 Mar 2019 13:44:15 GMT</pubDate>
      <guid>https://www.servicenow.com/community/itsm-forum/add-custom-role-to-all-users/m-p/625164#M196943</guid>
      <dc:creator>Abhishek Pidwa</dc:creator>
      <dc:date>2019-03-10T13:44:15Z</dc:date>
    </item>
    <item>
      <title>Re: Add custom role to all users</title>
      <link>https://www.servicenow.com/community/itsm-forum/add-custom-role-to-all-users/m-p/625165#M196944</link>
      <description>&lt;P&gt;Thanks Abjishek,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This worked perfectly.&lt;/P&gt;</description>
      <pubDate>Sun, 10 Mar 2019 20:55:00 GMT</pubDate>
      <guid>https://www.servicenow.com/community/itsm-forum/add-custom-role-to-all-users/m-p/625165#M196944</guid>
      <dc:creator>Richard Tyler</dc:creator>
      <dc:date>2019-03-10T20:55:00Z</dc:date>
    </item>
    <item>
      <title>Re: Add custom role to all users</title>
      <link>https://www.servicenow.com/community/itsm-forum/add-custom-role-to-all-users/m-p/625166#M196945</link>
      <description>&lt;P&gt;I followed that example in a background script; no errors, but it doesn't add the role record (even though the script report seems to indicate it has).&amp;nbsp; My code is below.&amp;nbsp; Any ideas?&lt;/P&gt;
&lt;PRE class="language-javascript"&gt;&lt;CODE&gt;var gr = new GlideRecord('sys_user');
 gr.addQuery('user_name','my_user');//dummy name for public view
 gr.query();
 if (gr.next())
{
    gr.roles = gr.roles + ",change_approver";
    gr.update();
}&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jun 2020 13:47:22 GMT</pubDate>
      <guid>https://www.servicenow.com/community/itsm-forum/add-custom-role-to-all-users/m-p/625166#M196945</guid>
      <dc:creator>Randall Arnold</dc:creator>
      <dc:date>2020-06-05T13:47:22Z</dc:date>
    </item>
    <item>
      <title>Re: Add custom role to all users</title>
      <link>https://www.servicenow.com/community/itsm-forum/add-custom-role-to-all-users/m-p/625167#M196946</link>
      <description>&lt;P&gt;Hi, I got the same question. Is not adding the role to the related links Role Tab.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 12 Aug 2020 01:15:11 GMT</pubDate>
      <guid>https://www.servicenow.com/community/itsm-forum/add-custom-role-to-all-users/m-p/625167#M196946</guid>
      <dc:creator>Edxavier Robert</dc:creator>
      <dc:date>2020-08-12T01:15:11Z</dc:date>
    </item>
    <item>
      <title>Re: Add custom role to all users</title>
      <link>https://www.servicenow.com/community/itsm-forum/add-custom-role-to-all-users/m-p/625168#M196947</link>
      <description>&lt;P&gt;Try this script. It will add the roles in the related list as well.&lt;/P&gt;
&lt;PRE class="language-javascript"&gt;&lt;CODE&gt;//Find a user eg.abc
var gUser = new GlideRecord('sys_user');
gUser.addEncodedQuery('user_name=abc');
gUser.query();
if(gUser.next()){

//Declare roles in array
var arr = ["role1","role2","role3"];

//Assign the roles 
var grd = new GlideRecord('sys_user_has_role');
for(var i =0; i&amp;lt;arr.length; i++){
   grd.initialize();
   grd.user = gUser.sys_id;
   grd.setDisplayValue('role',arr[i]); 
   grd.insert();
 }

}&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 26 Nov 2020 17:43:04 GMT</pubDate>
      <guid>https://www.servicenow.com/community/itsm-forum/add-custom-role-to-all-users/m-p/625168#M196947</guid>
      <dc:creator>Tushar Walveka2</dc:creator>
      <dc:date>2020-11-26T17:43:04Z</dc:date>
    </item>
    <item>
      <title>Re: Add custom role to all users</title>
      <link>https://www.servicenow.com/community/itsm-forum/add-custom-role-to-all-users/m-p/625169#M196948</link>
      <description>&lt;P&gt;Try this script&lt;/P&gt;
&lt;PRE class="language-javascript"&gt;&lt;CODE&gt;//Find a user eg.abc
var gUser = new GlideRecord('sys_user');
gUser.addEncodedQuery('user_name=abc');
gUser.query();
if(gUser.next()){

//Declare roles in array
var arr = ["role1","role2","role3"];

//Assign the roles 
var grd = new GlideRecord('sys_user_has_role');
for(var i =0; i&amp;lt;arr.length; i++){
   grd.initialize();
   grd.user = gUser.sys_id;
   grd.setDisplayValue('role',arr[i]); 
   grd.insert();
 }

}&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 26 Nov 2020 17:44:09 GMT</pubDate>
      <guid>https://www.servicenow.com/community/itsm-forum/add-custom-role-to-all-users/m-p/625169#M196948</guid>
      <dc:creator>Tushar Walveka2</dc:creator>
      <dc:date>2020-11-26T17:44:09Z</dc:date>
    </item>
  </channel>
</rss>

