¿Es posible deshabilitar la casilla de verificación recordar contraseña en SSMS?

8

En algún momento, proporcionamos la misma computadora portátil para 4-5 empleados en nuestra oficina para algún propósito de prueba (dado que solo existe una herramienta costosa con licencia en esa computadora portátil), también les pedimos que no hagan clic en la casilla Recordar contraseña en SSMS para almacenar las credenciales .

Pero pocos de ellos accidentalmente hacen clic en esa casilla de verificación, por lo que cada vez que necesitamos borrar el SqlStudio.binpara resolver el problema. En lugar de eso, es bueno deshabilitar la opción Recordar contraseña en el SSMS en esa computadora portátil en particular.

¿Es posible deshabilitar la casilla de verificación recordar contraseña en SSMS?

El comportamiento esperado es el siguiente:

Desactive siempre la casilla de verificación Recordar contraseña

Arulkumar
fuente
Una cuenta para la herramienta costosa y cuentas separadas para cada usuario para ejecutar SSMS.
CoveGeek

Respuestas:

11

No, esto no es posible, a menos que realice ingeniería inversa de SSMS y oculte la casilla de verificación o la convierta en una opción no operativa, luego vuelva a compilar e implementar. Y repita cada vez que actualice, aplique un paquete de servicio, etc. (Para ser claros: esto no es lo que recomiendo).

Sin embargo, tengo una mejor solución:

¿Por qué sus 4-5 empleados no usan diferentes perfiles? Esto requiere un poco más de espacio en disco, claro, pero cada perfil tiene su propio SqlStudio.bin, entonces también puede usar la autenticación de Windows, lo que significa que no tienen que escribir su contraseña o marcar una casilla, y simplifica la auditoría , también, en caso de que esto no sea lo más atroz que hacen.

Aaron Bertrand
fuente
No estoy seguro de si los perfiles funcionarían bien junto con su costosa herramienta con licencia. Es completamente posible que la herramienta ArcGis requiera licencias por usuario.
Nzall
@Nate ok, ¿deberíamos alentarlos a violar los acuerdos de licencia? Esa es una elección que tendrán que hacer. Simplemente estaba sugiriendo una forma en que podrían evitar el problema de "un usuario obtiene la contraseña de otro usuario". Puede ser que, en comparación con los costos de licencia, sea un problema insignificante, pero sigo pensando que es totalmente incorrecto abusar del acuerdo de software de esta manera. (Tampoco pude encontrar ninguna información en el sitio del producto sobre si se trata de una licencia de asiento o si está vinculada a una cuenta de Windows, o lo difícil que es "transferir" una licencia en este último caso)
Aaron Bertrand
No estaba diciendo que deberían romper los acuerdos de licencia. Solo estaba señalando que los perfiles de usuario separados, aunque la respuesta correcta por lo general, podría no ser factible debido a las licencias.
Nzall
@Nate Bueno, para ser pedantes, si la herramienta realmente tiene licencia para cada usuario, ya están rompiendo el acuerdo. Sin sugerir que arreglen eso, está afirmando implícitamente que está bien.
Aaron Bertrand
No tengo idea de cómo funcionan las licencias para ArcGis y, sinceramente, tampoco me interesa averiguarlo. No tengo ningún interés en ir a una cruzada pedante para averiguar si ArcGis puede obtener una licencia de esta manera o no. Dichas licencias pueden ser realmente caras, especialmente para las pequeñas empresas. Demonios, yo también tuve la misma situación, donde una compañía para la que trabajaba hacía que sus desarrolladores usaran licencias de prueba de Telerik mientras la licencia paga estaba en el servidor de compilación, para ahorrar dinero. A veces, tienes que usar lagunas.
Nzall
3

Si bien esto puede ser excesivo para su situación, puede probar el software de automatización para crear su propia ventana de inicio de sesión, obtener las credenciales de usuario únicas y luego iniciar SSMS con las opciones de línea de comandos correctas. Obviamente, querrá evitar que los usuarios ejecuten SSMS directamente y puede hacerlo a través de la política de grupo de Windows o mediante modificaciones en el registro. O si te vuelves un poco creativo con tus scripts, AutoHotKey también podría hacerlo.

  1. Software para automatizar casi cualquier acción de Windows - AutoHotKey
  2. Para ver las opciones de línea de comandos para SSMS, escriba 'ssms.exe /?'
  3. Para aprender cómo evitar que los usuarios ejecuten un programa, busque en Google "Windows evita que los usuarios ejecuten un programa".

Tomará un tiempo superar todo eso, pero luego tendrá más opciones sobre cómo hacer cosas únicas rápidamente.

PD. No apruebo la piratería de software o las infracciones de licencia en absoluto. Use los consejos anteriores bajo su propio riesgo. Estas son herramientas estándar que cualquier buen administrador de Windows ya debería saber hacer o debería tener en su bolsa de trucos.

Michael Engelby
fuente
3

Puede escribir una pequeña herramienta que busque la ventana necesaria y le envíe un mensaje para deshabilitar el control. O elija una de las herramientas existentes.

La búsqueda rápida encontró esta pregunta: /programming/11833500/preventing-cross-process-sendmessage-calls

con este enlace: https://www.raymond.cc/blog/how-to-enable-and-access-disabled-grayed-out-buttons-windows-and-checkboxes/

Por supuesto, cualquier herramienta de este tipo será frágil. Tal vez, en su lugar, haga una copia de seguridad del archivo donde se almacena esta contraseña ( SqlStudio.bin) y sobrescríbala con una copia nueva cada vez que un usuario inicie sesión en Windows. Tu dijiste:

Pero pocos de ellos accidentalmente hacen clic en esa casilla de verificación, por lo que cada vez que necesitamos borrar el SqlStudio.binpara resolver el problema.

En lugar de manejarlo como una situación excepcional, manejarlo como una situación normal y borrarlo SqlStudio.bincon cada inicio de sesión.

Alternativamente, puede intentar hacer que ese archivo sea de solo lectura / denegarle permisos de escritura.

Vladimir Baranov
fuente
Prevenir las escrituras SqlStudio.binparece una buena idea a primera vista, pero ¿entiendo correctamente por su redacción que realmente no lo ha intentado usted mismo? ¿Sabe de antemano si hay algún efecto secundario? si también hay otras configuraciones escritas en él?
Andriy M
@AndriyM, tienes razón, no lo he intentado yo mismo. Solo pensé que no puede ser peor que eliminarlo por completo como lo hace OP. Puede ser mejor hacer una copia de seguridad de ese archivo y restaurarlo según sea necesario, o simplemente siempre al iniciar sesión en Windows.
Vladimir Baranov
1
Ah, eso hace. Otra variación en su sugerencia podría ser crear un archivo por lotes simple que restaure SqlStudio.bin, luego ejecute SSMS y edite el acceso directo que inicia SSMS para ejecutar ese lote en lugar de SSMS.
Andriy M
0

Sé que esta es una publicación antigua, pero para ayudar a otras personas, creo que tal vez sea más fácil obtener una copia de seguridad de la configuración de sqlstudio "estándar" y restaurarla antes de proporcionar la computadora portátil a cualquier usuario. El peor de los casos podría incluir también algún pirateo de registros.

CesarF
fuente
2
¿puede proporcionar más detalles sobre cómo obtener una copia de seguridad de la configuración de estudio sql "estándar"?
Greg