Publicado el :
Administración CREATION_INTERNE

Eliminación de usuarios de los metadatos

Este código también está disponible en: Deutsch English Français
En espera de validación
Attention : Este código requiere privilegios de administrador.
Este script primero configura la conexión al servidor de metadatos (SAS© Metadata Server). Luego genera una tabla temporal que contiene los nombres de usuario a eliminar a través de datalines. Finalmente, ejecuta un paso DATA _NULL_ para iterar sobre esta lista, eliminar los inicios de sesión asociados (metadata_delassn) y el objeto persona (metadata_delobj), con gestión de errores y registros.
Análisis de datos

Type : CREATION_INTERNE


Los nombres de usuario se definen directamente en el código a través de la instrucción DATALINES.

1 Bloque de código
DATA STEP Data
Explicación :
Definición de las opciones de conexión al servidor de metadatos y creación de la tabla 'work.delusers' que contiene los identificadores a eliminar.
¡Copiado!
1options metaserver='meta.example.com'
2 metaport=8561
3 metaprotocol='bridge'
4 metauser='sasadm @saspw'
5 metapass='password'
6;
7
8DATA work.delusers;
9 INFILE DATALINES truncover;
10 LENGTH username $ 255;
11 call missing (of _character_);
12 INPUT username $1-255;
13 DATALINES;
14 deltest
15 deltest1
16 deltest2
17 del test3
18;;
19RUN;
2 Bloque de código
DATA STEP
Explicación :
Eliminación efectiva utilizando las funciones de metadatos: construcción del URI del objeto persona, eliminación de los inicios de sesión asociados y luego eliminación del objeto usuario, con trazabilidad en el registro.
¡Copiado!
1DATA _null_;
2 
3 /* Read in the data set. */
4 SET work.delusers;
5 
6 /* Build a URI from the supplied user name. */
7 obj="omsobj:Person? @Name='"||trim(username)||"'";
8 
9 /* Delete the Logins associated with the user. */
10 rc=metadata_delassn(obj,"Logins");
11
12 /* Check if the delete of Logins was successful. */
13 
14 IF rc ne 0 THEN DO;
15 /* Throw an error if the login delete action failed. */
16 put "ERROR: Failed to delete associated logins for user " username ". " rc=;
17 END;
18 /* If deleting logins was successful, move on to deleting the user. */
19 ELSE DO;
20 /* Write a note to the log indicating the delete of logins was successful. */
21 put "NOTE: Successfully deleted logins associated with user " username". Attempting to delete user.";
22 
23 /* Delete the user object. */
24 rc=metadata_delobj(obj);
25 
26 /* Check if delete was successful. */
27 IF rc ne 0 THEN DO;
28
29 /* If not, throw an error. */
30 put "ERROR: Failed to delete user " username ". " rc=;
31 END;
32 
33 /* If so, note that delete was successful. */
34 ELSE put "NOTE: Successfully deleted user " username ".";
35 END;
36RUN;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Copyright © 2023, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.