commands

^

New-DbaDbUser

Author Frank Henninger (@osiris687) , Andreas Jordan (@JordanOrdix), ordix.de
Availability Windows, Linux, macOS

 

Want to see the source code for this command? Check out New-DbaDbUser on GitHub.
Want to see the Bill Of Health for this command? Check out New-DbaDbUser.

Synopsis

Creates a new user for the specified database.

Description

Creates a new user for a specified database with provided specifications.

Syntax

New-DbaDbUser
    [-SqlInstance] <DbaInstanceParameter[]>
    [-SqlCredential <PSCredential>]
    [-Database <String[]>]
    [-ExcludeDatabase <String[]>]
    [-IncludeSystem] -Login <String>
    [-Username <String>]
    [-DefaultSchema <String>]
    [-Force]
    [-EnableException]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

New-DbaDbUser
    [-SqlInstance] <DbaInstanceParameter[]>
    [-SqlCredential <PSCredential>]
    [-Database <String[]>]
    [-ExcludeDatabase <String[]>]
    [-IncludeSystem] -Username <String>
    [-DefaultSchema <String>] -ExternalProvider
    [-Force]
    [-EnableException]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

New-DbaDbUser
    [-SqlInstance] <DbaInstanceParameter[]>
    [-SqlCredential <PSCredential>]
    [-Database <String[]>]
    [-ExcludeDatabase <String[]>]
    [-IncludeSystem] -Username <String>
    [-DefaultSchema <String>] -Password <SecureString>
    [-Force]
    [-EnableException]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

New-DbaDbUser
    [-SqlInstance] <DbaInstanceParameter[]>
    [-SqlCredential <PSCredential>]
    [-Database <String[]>]
    [-ExcludeDatabase <String[]>]
    [-IncludeSystem] -Username <String>
    [-DefaultSchema <String>]
    [-Force]
    [-EnableException]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

 

Examples

 

Example: 1
PS C:\> New-DbaDbUser -SqlInstance sqlserver2014 -Database DB1 -Login user1

Creates a new sql user with login named user1 in the specified database.

Example: 2
PS C:\> New-DbaDbUser -SqlInstance sqlserver2014 -Database DB1 -Username user1

Creates a new sql user without login named user1 in the specified database.

Example: 3
PS C:\> New-DbaDbUser -SqlInstance sqlserver2014 -Database DB1 -Login Login1 -Username user1

Creates a new sql user named user1 mapped to Login1 in the specified database.

Example: 4
PS C:\> New-DbaDbUser -SqlInstance sqlserver2014 -Database DB1 -Login Login1 -Username user1 -DefaultSchema schema1

Creates a new sql user named user1 mapped to Login1 in the specified database and specifies the default schema to be schema1.

Example: 5
PS C:\> New-DbaDbUser -SqlInstance sqlserver2014 -Database DB1 -Username "claudio@********.onmicrosoft.com" -ExternalProvider

Creates a new sql user named 'claudio@********.onmicrosoft.com' mapped to Azure Active Directory (AAD) in the specified database.

Example: 6
PS C:\> New-DbaDbUser -SqlInstance sqlserver2014 -Database DB1 -Username user1 -Password (ConvertTo-SecureString -String "DBATools" -AsPlainText)

Creates a new cointained sql user named user1 in the database given database with the password specified.

Required Parameters

-SqlInstance

The target SQL Server instance or instances. Defaults to the default instance on localhost.

Alias
Required True
Pipeline false
Default Value
-Login

When specified, the user will be associated to this SQL login and have the same name as the Login.

Alias
Required True
Pipeline false
Default Value
-Password

When specified, the user will be created as a contained user. Standalone databases partial containment should be turned on to succeed. By default, in Azure SQL databases this is turned on.

Alias
Required True
Pipeline false
Default Value
-ExternalProvider

Specifies that the user is for Azure AD Authentication. Equivalent to T-SQL: 'CREATE USER [claudio@********.onmicrosoft.com] FROM EXTERNAL PROVIDER`

Alias
Required True
Pipeline false
Default Value False

Optional Parameters

-SqlCredential

Login to the target instance using alternative credentials. Accepts PowerShell credentials (Get-Credential). Windows Authentication, SQL Server Authentication, Active Directory - Password, and Active Directory - Integrated are all supported. For MFA support, please use Connect-DbaInstance.

Alias
Required False
Pipeline false
Default Value
-Database

Specifies the database(s) to process. Options for this list are auto-populated from the server. If unspecified, all user databases will be processed.

Alias
Required False
Pipeline false
Default Value
-ExcludeDatabase

Specifies the database(s) to exclude from processing. Options for this list are auto-populated from the server. By default, system databases are excluded.

Alias
Required False
Pipeline false
Default Value
-IncludeSystem

If this switch is enabled, the user will be added to system databases. This switch will be ignored if -Database is used.

Alias
Required False
Pipeline false
Default Value False
-Username

When specified, the user will have this name.

Alias
Required False
Pipeline false
Default Value
-DefaultSchema

The default database schema for the user. If not specified this value will default to dbo.

Alias
Required False
Pipeline false
Default Value dbo
-Force

If user exists, drop and recreate.

Alias
Required False
Pipeline false
Default Value False
-EnableException

By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message. This avoids overwhelming you with "sea of red" exceptions, but is inconvenient because it basically disables advanced scripting. Using this switch turns this "nice by default" feature off and enables you to catch exceptions with your own try/catch.

Alias
Required False
Pipeline false
Default Value False
-WhatIf

If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.

Alias wi
Required False
Pipeline false
Default Value
-Confirm

If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.

Alias cf
Required False
Pipeline false
Default Value