Est-il possible de désactiver la case à cocher Mémoriser le mot de passe dans SSMS?

8

Parfois, nous fournissons le même ordinateur portable à 4-5 employés dans notre bureau à des fins de test (puisqu'un outil sous licence coûteux existe uniquement sur cet ordinateur portable), leur avons également demandé de ne pas cocher la case Mémoriser le mot de passe dans SSMS pour stocker les informations d'identification. .

Mais peu d'entre eux ont accidentellement coché cette case, donc à chaque fois nous devons effacer le SqlStudio.binpour résoudre le problème. Au lieu de cela, il est agréable de désactiver l' option Mémoriser le mot de passe dans le SSMS de cet ordinateur portable particulier.

Est-il possible de désactiver la case à cocher Mémoriser le mot de passe dans SSMS?

Le comportement attendu est le suivant:

Désactivez toujours la case à cocher Mémoriser le mot de passe

Arulkumar
la source
Un compte pour l'outil coûteux et des comptes séparés pour chaque utilisateur pour exécuter SSMS.
CoveGeek

Réponses:

11

Non, cela n'est pas possible, à moins que vous n'effectuiez une rétro-ingénierie de SSMS et que vous ne masquiez la case à cocher ou que vous en fassiez un no-op, puis que vous recompiliez et déployiez. Et répétez chaque fois que vous effectuez une mise à niveau, appliquez un service pack, etc. (pour être clair: ce n'est pas ce que je recommande.)

J'ai cependant une meilleure solution:

Pourquoi vos 4-5 employés n'utilisent-ils pas des profils différents? Cela prend un peu plus d'espace disque, bien sûr, mais chaque profil obtient son propre SqlStudio.bin - vous pouvez également utiliser l'authentification Windows, ce qui signifie qu'ils n'ont pas à taper leur mot de passe ou à cocher une case, et cela simplifie l'audit , aussi, au cas où ce ne serait pas la chose la plus flagrante qu'ils fassent.

Aaron Bertrand
la source
Je ne sais pas si les profils fonctionneraient bien avec leur outil sous licence très cher. Il est tout à fait possible que l'outil ArcGis nécessite des licences par utilisateur.
Nzall
@Nate ok, nous devrions donc les encourager à violer les accords de licence à la place? C'est un choix qu'ils vont devoir faire. Je proposais simplement une façon d'éviter le problème "un utilisateur obtient le mot de passe d'un autre utilisateur". C'est peut-être cela, comparé aux coûts de licence, qui est un problème négligeable, mais je pense toujours qu'il est totalement faux d'abuser de l'accord sur les logiciels de cette façon. (Je n'ai pas non plus trouvé d'informations sur le site du produit pour savoir s'il s'agit d'une licence de siège ou si elle est liée à un compte Windows, ou à quel point il est difficile de «transférer» une licence dans ce dernier cas.)
Aaron Bertrand
Je ne disais pas qu'ils devraient rompre les accords de licence. Je soulignais simplement que des profils d'utilisateurs distincts, bien que la bonne réponse en général, pourraient ne pas être possibles en raison de la licence.
Nzall
@Nate Eh bien, pour être pédant, si l'outil est vraiment destiné à être autorisé par utilisateur, ils rompent déjà l'accord. Ne pas suggérer qu'ils corrigent cela signifie implicitement que c'est ok.
Aaron Bertrand
Je n'ai aucune idée du fonctionnement de la licence pour ArcGis, et honnêtement, je n'aime pas vraiment le découvrir non plus. Je n'ai aucun intérêt à faire une croisade pédante pour savoir si ArcGis est autorisé à obtenir une licence de cette manière ou non. Ces licences peuvent être très coûteuses, en particulier pour les petites entreprises. Enfer, j'ai moi-même connu la même situation, où une entreprise pour laquelle j'ai travaillé a demandé à ses développeurs d'utiliser des licences d'essai Telerik alors que la licence payante était sur le serveur de build, pour économiser de l'argent. Parfois, vous devez utiliser des failles.
Nzall
3

Bien que cela puisse être excessif pour votre situation, vous pouvez essayer un logiciel d'automatisation pour créer votre propre fenêtre de connexion, obtenir les informations d'identification utilisateur uniques, puis lancer SSMS avec les options de ligne de commande correctes. De toute évidence, vous souhaiterez empêcher les utilisateurs d'exécuter SSMS directement et vous pouvez le faire via la stratégie de groupe Windows ou via des modifications du registre. Ou si vous êtes un peu créatif avec vos scripts, AutoHotKey pourrait le faire aussi.

  1. Logiciel pour automatiser presque toutes les actions de Windows - AutoHotKey
  2. Pour voir les options de ligne de commande pour SSMS, tapez 'ssms.exe /?'
  3. Pour savoir comment empêcher les utilisateurs d'exécuter un programme, google "Windows empêcher les utilisateurs d'exécuter un programme".

Il faudra un certain temps pour passer à travers tout cela, mais vous aurez alors plus d'options pour faire rapidement des choses uniques.

Ps. Je ne tolère pas du tout le piratage de logiciels ou les violations de licence. Utilisez les conseils ci-dessus à vos risques et périls. Ce sont des outils standard que tout bon administrateur Windows devrait déjà savoir faire ou devrait avoir dans son sac d'astuces.

Michael Engelby
la source
3

Vous pouvez écrire un petit outil qui rechercherait la fenêtre nécessaire et lui enverrait un message pour désactiver le contrôle. Ou choisissez l'un des outils existants.

La recherche rapide a trouvé cette question: /programming/11833500/preventing-cross-process-sendmessage-calls

avec ce lien dedans: https://www.raymond.cc/blog/how-to-enable-and-access-disabled-grayed-out-buttons-windows-and-checkboxes/

Bien sûr, un tel outil sera fragile. Peut-être, au lieu de cela, faites une sauvegarde du fichier où ce mot de passe est stocké ( SqlStudio.bin) et écrasez-le avec une nouvelle copie chaque fois qu'un utilisateur se connecte à Windows. Tu as dit:

Mais peu d'entre eux ont accidentellement coché cette case, donc à chaque fois nous devons effacer le SqlStudio.binpour résoudre le problème.

Plutôt que de le gérer comme une situation exceptionnelle, gérez-le comme une situation normale et effacez-le SqlStudio.binà chaque connexion.

Alternativement, vous pouvez essayer de lui donner des autorisations en lecture seule / refuser l'écriture.

Vladimir Baranov
la source
Empêcher l'écriture SqlStudio.binressemble à une bonne idée à première vue, mais est-ce que je comprends bien d'après votre formulation que vous n'avez pas réellement essayé cela vous-même? Savez-vous à l'avance s'il y a des effets secondaires? si d'autres paramètres y sont également écrits?
Andriy M
@AndriyM, vous avez raison, je ne l'ai pas essayé moi-même. Je pensais juste que cela ne pouvait pas être pire que de le supprimer complètement comme le fait OP. Il peut être préférable de faire une sauvegarde de ce fichier et de le restaurer selon vos besoins, ou simplement de toujours vous connecter à Windows.
Vladimir Baranov
1
Ah, ça fait. Une autre variante de votre suggestion pourrait être de créer un fichier de commandes simple qui restaure SqlStudio.bin, puis exécute SSMS et de modifier le raccourci de lancement de SSMS pour exécuter ce lot au lieu de SSMS lui-même.
Andriy M
0

Je sais que c'est un ancien article, mais pour aider les autres, je pense qu'il est peut-être plus facile d'obtenir une sauvegarde des paramètres sqlstudio "standard" et de la restaurer avant de fournir l'ordinateur portable à n'importe quel utilisateur. Le pire scénario pourrait également inclure un piratage du registre.

CesarF
la source
2
pouvez-vous fournir plus de détails sur la façon d'obtenir une sauvegarde "standard" des paramètres du studio sql?
Greg