Veröffentlicht am :
Verwaltung CREATION_INTERNE

Löschen von Benutzern aus Metadaten

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Attention : Dieser Code erfordert Administratorrechte.
Dieses Skript konfiguriert zuerst die Verbindung zum Metadatenserver (SAS© Metadata Server). Anschließend wird eine temporäre Tabelle mit den über Datalines zu löschenden Benutzernamen erstellt. Schließlich wird ein DATA _NULL_ Schritt ausgeführt, um diese Liste zu durchlaufen, die zugehörigen Logins (metadata_delassn) und das Personenobjekt (metadata_delobj) zu löschen, inklusive Fehler- und Protokollverwaltung.
Datenanalyse

Type : CREATION_INTERNE


Die Benutzernamen werden direkt im Code über die DATALINES-Anweisung definiert.

1 Codeblock
DATA STEP Data
Erklärung :
Definition der Metadatenserver-Verbindungsoptionen und Erstellung der Tabelle 'work.delusers', die die zu löschenden Identitäten enthält.
Kopiert!
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 Codeblock
DATA STEP
Erklärung :
Effektive Löschung mithilfe der Metadatenfunktionen: Konstruktion des URI des Personenobjekts, Löschen der zugehörigen Logins und anschließendes Löschen des Benutzerobjekts, mit Nachverfolgbarkeit im Protokoll.
Kopiert!
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;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : Copyright © 2023, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.