FetchAdUsers.ps1
#Store users' info in CSV
Get-ADGroupMember -Identity GROUPNAME -Recursive|Get-ADUser -Properties Mail, MemberOf | Select-Object GivenName, Surname, SamAccountName, Mail | Export-csv -path GROUPNAME .csv -NoTypeInformation
Monday, June 11, 2018
Wednesday, May 30, 2018
[Code Snippet] How to a create user in arcgis portal with a custom role?
Create a user or add member in ArcGIS portal with a custom role -
1. Get all custom roles from the portal, I presumed that the portal already has custom roles other than (org_user, org_publisher, org_admin)
from arcgis.gis import *
gis= GIS(portalUrl, userName, password)
allRoles = gis.users.roles.all(max_roles=50)
2. Create a User with Default Role
username="test"
password=''
firstname='test_name'
lastname='test_last'
email='test@test.com'
description = 'Test Account'
role = 'org_publisher'
provider = 'enterprise'
idp_username = 'test'
level = 2
thumbnail = None
newUser = gis.users.create(username, password,firstname,
lastname, email, description, role, provider,
idp_username, level, thumbnail)
3. Update the defualt role to Custom Role - Assign the role object not role name
#Assigning the first role out of many portal roles, as an example
status = newUser.update_role(role=allRoles[0])
print(status)
If role assigned success, the value of status will be True.
Reference:
https://developers.arcgis.com/python/guide/accessing-and-managing-users/
1. Get all custom roles from the portal, I presumed that the portal already has custom roles other than (org_user, org_publisher, org_admin)
from arcgis.gis import *
gis= GIS(portalUrl, userName, password)
allRoles = gis.users.roles.all(max_roles=50)
2. Create a User with Default Role
username="test"
password=''
firstname='test_name'
lastname='test_last'
email='test@test.com'
description = 'Test Account'
role = 'org_publisher'
provider = 'enterprise'
idp_username = 'test'
level = 2
thumbnail = None
newUser = gis.users.create(username, password,firstname,
lastname, email, description, role, provider,
idp_username, level, thumbnail)
3. Update the defualt role to Custom Role - Assign the role object not role name
#Assigning the first role out of many portal roles, as an example
status = newUser.update_role(role=allRoles[0])
print(status)
If role assigned success, the value of status will be True.
Reference:
https://developers.arcgis.com/python/guide/accessing-and-managing-users/
Friday, May 25, 2018
[Code Snippet] Find Custom Role of users that are in ArcGIS portal - ArcGIS
from arcgis.gis import *
self.portalInfo = GIS(self.portalUrl, self.userName, self.password)
self.portalUsers = self.portalInfo.users.search('')
users = self.portalUsers
roleManager = arcgis.gis.RoleManager(self.portalInfo)
roles = roleManager.all()
for user in users:
if hasattr(user,'roleId'):
for role in roles:
if(user.roleId == role.role_id):
print(user.username,user.role,role.name)
Remote debug environment setup for ArcGIS server extensions- SOE and SOI
In order to debug the ArcGIS server extension SOE/SOI from your development machine, you have to follow 3 steps:
1. Enable remote debug ( Presumption is your development machine and GIS server are different machines)
2. Enable sever extension for debug
3. Attach debugger to the process running the service
Download and install the remote debuggin tools from - https://docs.microsoft.com/en-us/visualstudio/debugger/remote-debugging
A. Enable remote debug
1. Download and configure Remote tools on the development
a. Find msvsmon.exe in the directory matching your version of Visual Studio. For Visual Studio 2015:
Program Files\Microsoft Visual Studio 14.0\Common7\IDE\Remote Debugger\x64\msvsmon.exe
(x64 can debug both x86 and x64 but x86 can only debugs x86)
2. On the remote computer, copy Remote Debugger folder from development machine and put in C:\ drive. Then, run msvsmon.exe
3. The msvsmon.exe output terminal shows
Wednesday, April 11, 2018
Code snippet: Get DateTime from UTC timestamp in ArcGIS Online
ArcGIS Online stores all date values in UTC. A short snippet to convert UTC timestamp to DateTime using Python.
from datetime import datetime
utcTimeStamp = 1472218452855
date = datetime.fromtimestamp(utcTimeStamp / 1e3)
print(date)
output: 2016-08-26 09:34:12.855000
from datetime import datetime
utcTimeStamp = 1472218452855
date = datetime.fromtimestamp(utcTimeStamp / 1e3)
print(date)
output: 2016-08-26 09:34:12.855000
Thursday, April 5, 2018
Override Default Location of Jupyter Notebook file
This post is continue of ArcGIS Pro, Conda, Jupyter Setup post. The default location of Jupter Notebook IronPython (*.ipynb) file is C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3 -
import os
print (os.getcwd())
import os
print (os.getcwd())
To change the default location of Jypyter notebook script file(*ipynb) you need to configure jupyter_notebook_config.py
Tuesday, April 3, 2018
ArcGIS Pro, Conda, Jupyter, and ArcGIS for Python setup
A. Download and install
the ArcGIS pro as described http://pro.arcgis.com/en/pro-app/get-started/install-and-sign-in-to-arcgis-pro.htm
B. Installation of Jupyter and ArcGIS for Python API can be done in two ways.
1.
Using ArcGIS
Pro’s Python Package Manager Graphical User Interface ( uses Conda under the
hood)
2.
Using Conda via Python Command Prompt
ii. Select packages you would like to install
Tuesday, February 6, 2018
ArcGIS Server Rest End Point POST parameters for Create Replica for ArcGIS collector
Post Params list -
- replicaName:test_02_32_Feb6_2018
- layers:26
- layerQueries:
- geometry:{"rings": [[[-9074894.9, 3341138.1], [-9045657.8, 3341176.3], [-9045657.8, 3320500.1], [-9074818.5, 3320538.3], [-9074894.9, 3341138.1]]], "spatialReference": {"wkid": 3857}}
- geometryType:esriGeometryPolygon
- inSR:
- replicaSR:
- transportType:esriTransportTypeUrl
- returnAttachments:false
- returnAttachmentsDataByUrl:true
- attachmentsSyncDirection:none
- async:false
- syncModel:perLayer
- dataFormat:sqlite
- replicaOptions:
- f:pjson
Monday, February 5, 2018
Friday, February 2, 2018
[Code snippet] Extract Feature Layer Fields from Map Document (Mxd) using ArcPy
This code snippet is for getting a list of fields in a feature layer from a map document in ArcPy 10.4.
1: #Import arcpy mapping library
2: import arcpy.mapping;
3:
4: # Map doc path
5: mxdPath =r"C:\MyMxd.mxd"
6:
7: #Open map document
8: document = arcpy.mapping.MapDocument(mxdPath)
9:
10: #Extract all dataframes inside a map document
11: dataFrameList = arcpy.mapping.ListDataFrames(document)
12:
13: #Loop through all DF
14: for dataFrame in dataFrameList:
15: #Extact all layers in a dataframe
16: layerList = arcpy.mapping.ListLayers(document, None, dataFrame)
17:
18: #Loop through all Layers
19: for layer in layerList:
20: print (dataFrame.name+"--"+layer.name +"--"+layer.dataSource)
21:
22: #Extract all fields in a layer
23: fieldList = arcpy.ListFields(layer.dataSource, None, None)
24:
25: #Loop through and print field properties
26: for field in fieldList:
27: print(field.name,field.aliasName,field.type,field.length,field.required,field.precision)
Subscribe to:
Posts
(
Atom
)