2009-03-30 7 views
0

Nous avons un script d'accès nécessitant un mot de passe Windows pour accéder au serveur de métadonnées SAS et le valider. Le problème est que si le mot de passe Windows est modifié et que le script est exécuté sans être mis à jour, l'utilisateur se verrouille et doit appeler le support informatique pour une réinitialisation du mot de passe.Utilisation de Base SAS pour valider le mot de passe Windows

Quelle est la manière la plus simple d'utiliser Base SAS (9.1.3) pour valider un mot de passe Windows? par exemple pour permettre une mise en garde à l'utilisateur si le mot de passe fourni n'est pas valide ...

EDIT:

La préoccupation est pas si cela doit être fait, seulement comment cela pourrait se faire!

Répondre

0

Il semble que la solution concerne les mots de passe Windows et votre groupe informatique. La plupart des projets dont les tâches planifiées sont décrites s'exécutent sous un utilisateur spécifique avec des autorisations limitées et un mot de passe statique.

Je crois que votre solution réside dans le service informatique et non dans un script de connexion SAS sophistiqué.

0

Utilisez-vous SAS 9.2? Si oui, pouvez-vous utiliser des comptes internes qui ne nécessitent pas de compte de système d'exploitation hôte sous-jacent et peuvent être configurés avec des règles d'expiration personnalisées?

+0

9.1.3, pour en tenir compte .. –

0

Ok, vous pouvez vérifier cela assez facilement en utilisant des drapeaux. Si le drapeau est activé, SAS n'exécutera pas le script. Si le drapeau est désactivé, SAS exécutera le script. Cela arrêtera le problème de réinitialisation de votre mot de passe. Quant à la façon dont vous choisissez de communiquer cela à l'utilisateur, c'est à vous de décider.

EG script à sas pseudocode:

ont modifié question
if flag_is_on then do; 
    communicate message password is invalid; ** THIS IS OPTIONAL. YOU COULD JUST KEEP THE NOTIFICATION BELOW AND REMOVE THIS ONE. OTHERWISE YOU WILL RECEIVE MULTIPLE NOTIFICATIONS; 
    endsas; ** QUITS SAS. NOTHING ELSE IS RUN; 
end; 
else do; 
    flag_is_on = 1; 
    run the rest of your program including login attempt; 

    if program_ran_successfully then do; ** POSSIBLY USE SYSERR AND SYSMSG TO DETERMINE THIS?; 
    flag_is_on = 0; ** TURN FLAG OFF AGAIN; 
    end; 
    else do; 
    communicate message password is invalid; 
    ** NOTE THAT WE LEAVE THE FLAG TURNED ON HERE SO THAT NEXT TIME THE PROGRAM IS LAUNCHED THE FLAG WILL STILL BE ON AND THE PROGRAM WILL NOT RUN.; 
    end; 
end; 

Vive Rob

Questions connexes