È possibile disabilitare la casella di controllo Ricorda password in SSMS?


8

Qualche volta stiamo fornendo lo stesso laptop per 4-5 dipendenti nel nostro ufficio per alcuni scopi di test (poiché esiste solo un costoso strumento con licenza in quel laptop), abbiamo anche chiesto loro di non fare clic sulla casella di controllo Memorizza password in SSMS per archiviare le credenziali .

Ma pochi di loro fanno clic per sbaglio su quella casella, quindi ogni volta che dobbiamo deselezionare il SqlStudio.binper risolvere il problema. Invece è bello disabilitare l' opzione Ricorda password nell'SSMS in quel particolare laptop.

È possibile disabilitare la casella di controllo Ricorda password in SSMS?

Il comportamento previsto è il seguente:

Disattiva sempre la casella di controllo Memorizza password


Un account per lo strumento costoso e account separati per ogni utente per eseguire SSMS.
CoveGeek,

Risposte:


11

No, questo non è possibile, a meno che tu non decida di decodificare SSMS e nascondere la casella di controllo o renderla non operativa, quindi ricompilare e distribuire. E ripeti ogni volta che esegui l'aggiornamento, applica un service pack, ecc. (Per essere chiari: questo non è ciò che raccomando.)

Ho una soluzione migliore, però:

Perché i tuoi 4-5 dipendenti non usano profili diversi? Ciò richiede un po 'più di spazio su disco, certo, ma ogni profilo ottiene il proprio SqlStudio.bin - quindi potresti usare anche l'autenticazione di Windows, il che significa che non devono digitare la password o selezionare una casella e semplifica il controllo anche nel caso in cui questa non sia la cosa più eclatante che fanno.


Non sono sicuro che i profili funzionerebbero bene insieme al loro strumento con licenza molto costoso. È del tutto possibile che lo strumento ArcGis richieda licenze per utente.
Nzall,

@Nate ok, quindi dovremmo incoraggiarli a violare gli accordi di licenza? Questa è una scelta che dovranno fare. Stavo semplicemente suggerendo un modo in cui potevano evitare il problema "un utente ottiene la password di un altro utente". Può essere che rispetto ai costi di licenza sia un problema trascurabile, ma penso ancora che sia totalmente sbagliato abusare dell'accordo software in questo modo. (Inoltre non sono riuscito a trovare informazioni sul sito del prodotto sul fatto che si tratti di una licenza di posto o se è legato a un account Windows o di quanto sia difficile "trasferire" una licenza in quest'ultimo caso.)
Aaron Bertrand

Non stavo dicendo che avrebbero dovuto infrangere gli accordi di licenza. Stavo solo sottolineando che profili utente separati, mentre la risposta giusta di solito, potrebbe non essere fattibile a causa delle licenze.
Nzall,

@Nate Bene, per essere pedanti, se lo strumento è davvero destinato ad essere concesso in licenza per utente, stanno già rompendo l'accordo. Non suggerendo che risolvono che sta implicitamente affermando che va bene.
Aaron Bertrand

Non ho idea di come funzionino le licenze per ArcGis e, onestamente, non mi interessa nemmeno scoprirlo. Non ho interesse a partecipare a una crociata pedante per capire se ad ArcGis è permesso ottenere la licenza in questo modo o meno. Tali licenze possono essere molto costose, soprattutto per le piccole imprese. Diavolo, ho avuto la stessa situazione da solo, in cui un'azienda per cui lavoravo aveva i loro sviluppatori che utilizzavano le licenze di prova di Telerik mentre la licenza a pagamento era sul server di build, per risparmiare denaro. A volte, devi usare le scappatoie.
Nzall,

3

Sebbene ciò possa essere eccessivo per la tua situazione, potresti provare un software di automazione per creare la tua finestra di accesso, ottenere le credenziali utente univoche, quindi avviare SSMS con le opzioni della riga di comando corrette. Ovviamente, vorrai impedire agli utenti di eseguire direttamente SSMS e puoi farlo tramite i criteri di gruppo di Windows o attraverso le modifiche del registro. O se diventi un po 'creativo con i tuoi script, anche AutoHotKey potrebbe farlo.

  1. Software per automatizzare quasi tutte le azioni di Windows: AutoHotKey
  2. Per visualizzare le opzioni della riga di comando per SSMS, digitare 'ssms.exe /?'
  3. Per sapere come impedire agli utenti di eseguire un programma, google "Windows impedisce agli utenti di eseguire un programma".

Ci vorrà un po 'per superare tutto ciò, ma poi avrai più opzioni per come fare cose uniche rapidamente.

Ps. Non perdono affatto la pirateria del software o le violazioni della licenza. Utilizzare i consigli di cui sopra a proprio rischio e pericolo. Questi sono strumenti standard che qualsiasi buon amministratore di Windows dovrebbe già sapere come fare o dovrebbe avere nella propria borsa dei trucchi.


3

È possibile scrivere un piccolo strumento che cerchi la finestra necessaria e gli invii un messaggio per disabilitare il controllo. Oppure scegli uno degli strumenti esistenti.

La ricerca rapida ha trovato questa domanda: /programming/11833500/preventing-cross-process-sendmessage-calls

con questo link al suo interno: https://www.raymond.cc/blog/how-to-enable-and-access-disabled-grayed-out-buttons-windows-and-checkboxes/

Naturalmente, qualsiasi strumento simile sarà fragile. Forse, invece, fare un backup del file in cui è memorizzata questa password ( SqlStudio.bin) e sovrascriverla con una nuova copia ogni volta che un utente accede a Windows. Tu hai detto:

Ma pochi di loro fanno clic per sbaglio su quella casella, quindi ogni volta che dobbiamo deselezionare il SqlStudio.binper risolvere il problema.

Invece di gestirlo come una situazione eccezionale, gestirlo come una situazione normale e deselezionarlo SqlStudio.binad ogni accesso.

In alternativa, puoi provare a rendere quel file di sola lettura / negare le autorizzazioni di scrittura.


Prevenire le scritture SqlStudio.binsembra una buona idea in faccia, ma dalle tue parole capisco correttamente che non l'hai ancora provato tu stesso? Sei a conoscenza in anticipo se ci sono effetti collaterali? se vi sono scritte anche altre impostazioni?
Andriy M,

@AndriyM, hai ragione, non l'ho provato da solo. Ho solo pensato che non poteva essere peggio che eliminarlo del tutto come fa OP. Potrebbe essere meglio fare un backup di quel file e ripristinarlo secondo necessità, o semplicemente accedendo sempre a Windows.
Vladimir Baranov,

1
Ah, quello fa. Un'altra variante del suggerimento potrebbe essere quella di creare un semplice file batch che ripristini SqlStudio.bin, quindi esegua SSMS e modifichi il collegamento che avvia SSMS per eseguire quel batch anziché SSMS stesso.
Andriy M,

0

So che questo è un vecchio post, ma per aiutare altre persone, penso che forse sia più semplice ottenere un backup delle impostazioni sqlstudio "standard" e ripristinarlo prima di fornire il laptop a qualsiasi utente. Lo scenario peggiore potrebbe includere anche un po 'di hacking del registro.


2
puoi fornire maggiori dettagli su come ottenere un backup delle impostazioni sql studio "standard"?
Greg,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.