2017-09-19 2 views
-2

Ich möchte ein Powershell-Skript schaffen zu machen folgendePowershell mit SQL

1) Erstellen Login/User in SQL 2) Grant-Zugriff auf Datenbank 3) Entfernen des Zugriffs auf Datenbank

Prozess sein wie Dies

1) Verbinden mit SQL Server (Instanz) -> Verbindung zur Datenbank in dieser Instanz -> Siehe, ob Login/Benutzer vorhanden -> wenn Nein -> Login erstellen -> Benutzer erstellen -> Zugriff auf Datenbank gewähren.

Hinweis:

1) Benutzer sind Windows 2) Manchmal werde ich auf mehrere SQL-Instanz verbinden möchten. Das Skript sollte also prüfen, ob die erwähnte Datenbank in dieser Instanz vorhanden ist.

+1

Viel Glück. Wenn du nicht weiterkommst, poste deinen Code. –

+0

Hallo, Sie werden sich die SQL Server- und SQLPS-Module ansehen, die für PowerShell verfügbar sind. SO-Mitglieder werden kein Skript für dich erstellen, aber wenn du etwas zusammenstellst, würden wir dir gerne bei Problemen helfen. Google ist auch ein guter Ausgangspunkt: – cet51

+1

Stack Overflow ist kein Code-Schreibdienst. Wenn Sie Hilfe benötigen, um zu lernen, wie Sie etwas programmieren oder Fehler beheben, dann ist dies der richtige Ort für Sie. Wenn Sie Code von Grund auf neu benötigen, sollten Sie einen Entwickler beauftragen. – ArcSet

Antwort

0

Der Befehl Sie werden in erster Linie dafür brauchen, ist: obwohl anrufen und Sie nicht haben SSMS installiert, Invoke-SQLcmd (documentation)

Wenn Sie diesen Befehl in der Lage sein wollen, müssen Sie die PowershellTools und die SharedManagementObject Pakete von der SQL features pack

Hier ist ein Beispiel für seine Verwendung.

Von dort können Sie einfach SQL aufrufen und die gewünschte Logik von Powershell ausführen.

.

aber sagen, dass

aus Ihrer Beschreibung, scheint Sie mit SQL vertraut zu sein, während nicht mit Powershell. Sie können die SQLCMD-Route für weitere Skripting-Möglichkeiten in Ihrem SQL verwenden, wodurch Sie dynamische Variablen verwenden und so viel Logik wie möglich mit Ihrer Frage ausführen können (einschließlich der Iteration mehrerer Server über dasselbe Skript).

SQLcmd example

(Referenz: SQLAuthority

einige SQLCMD Informationen: SQLCMD Utility

natürlich, wenn Sie d'eher es in Powershell, dann ein paar grundlegende lernen, machen einige Versuche, Fragen zu stellen, die Beispiele für deinen Code enthalten und wo du feststeckst, und wir können dir dabei helfen.

+0

Ich habe dieses Skript erstellt –

+0

$ svr = New-Objekt ('Microsoft.SqlServer.Management.Smo.Server') $ Server $ srv.ConnectionContext.LoginSecure = $ true; $ srv.ConnectionContext.ConnectAsUser = $ true; $ srv.ConnectionContext.set_Login ("Dienstkonto"); $ srv.ConnectionContext.set_Password ("Passwort"); $ Database = "TestDB1", "testdb2" $ loginname = "Jsmith" if ($ loginname -eq $ Null) {$ Anmelden = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Login -ArgumentList $ svr, $ Benutzername $ Login.LoginType = 'WindowsUser' $ Login.Create() $ LoginName - $ Login.Name} –

Verwandte Themen