Get-SqlLogin
返回 SQL Server 实例中的 Login 对象。
语法
Get-SqlLogin
[-LoginName <String>]
[-Disabled]
[-Locked]
[-PasswordExpired]
[-HasAccess]
[-RegEx]
[-Wildcard]
[-LoginType <LoginType>]
[[-Path] <String>]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Get-SqlLogin
[-LoginName <String>]
[-Disabled]
[-Locked]
[-PasswordExpired]
[-HasAccess]
[-RegEx]
[-Wildcard]
[-LoginType <LoginType>]
[[-InputObject] <Server>]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Get-SqlLogin
[-LoginName <String>]
[-Disabled]
[-Locked]
[-PasswordExpired]
[-HasAccess]
[-RegEx]
[-Wildcard]
[-LoginType <LoginType>]
[[-ServerInstance] <String[]>]
[-Credential <PSCredential>]
[-ConnectionTimeout <Int32>]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
说明
Get-SqlLogin cmdlet 返回 SQL Server 实例中的 Login 对象。 如果指定 Login 对象的名称,则 cmdlet 将删除该特定对象。
示例
示例 1:获取实例的所有登录对象
PS C:\> Get-SqlLogin -ServerInstance "MyServerInstance"
Name Login Type Created
---- ---------- -------
##MS_PolicyEventProcessingLogin## SqlLogin 4/30/2016 12:46 AM
##MS_PolicyTsqlExecutionLogin## SqlLogin 4/30/2016 12:46 AM
NT AUTHORITY\SYSTEM WindowsUser 6/16/2016 10:29 AM
NT Service\MSSQLSERVER WindowsUser 6/16/2016 10:29 AM
NT SERVICE\SQLSERVERAGENT WindowsUser 6/16/2016 10:29 AM
NT SERVICE\SQLTELEMETRY WindowsUser 6/16/2016 10:29 AM
NT SERVICE\SQLWriter WindowsUser 6/16/2016 10:29 AM
NT SERVICE\Winmgmt WindowsUser 6/16/2016 10:29 AM
sa SqlLogin 4/8/2003 9:10 AM
此命令返回名为 MyServerInstance 的 SQL Server 实例中的所有 Login 对象。
示例 2:获取与正则表达式匹配的 Login 对象
PS C:\> Get-SqlLogin -ServerInstance "MyServerInstance" -LoginName "\bNT.*" -RegEx
Name Login Type Created
---- ---------- -------
NT AUTHORITY\SYSTEM WindowsUser 6/16/2016 10:29 AM
NT Service\MSSQLSERVER WindowsUser 6/16/2016 10:29 AM
NT SERVICE\SQLSERVERAGENT WindowsUser 6/16/2016 10:29 AM
NT SERVICE\SQLTELEMETRY WindowsUser 6/16/2016 10:29 AM
NT SERVICE\SQLWriter WindowsUser 6/16/2016 10:29 AM
NT SERVICE\Winmgmt WindowsUser 6/16/2016 10:29 AM
此命令返回与名为“MyServerInstance”的 SQL Server 实例中的正则表达式“\bNT.*”匹配的名称的 Login 对象。
示例 3:获取类型的登录对象
PS C:\> Get-SqlLogin -ServerInstance "MyServerInstance" -LoginType SqlLogin
Name Login Type Created
---- ---------- -------
##MS_PolicyEventProcessingLogin## SqlLogin 4/30/2016 12:46 AM
##MS_PolicyTsqlExecutionLogin## SqlLogin 4/30/2016 12:46 AM
sa SqlLogin 4/8/2003 9:10 AM
此命令返回 SQL Server 实例中名为“MyServerInstance”的 SqlLogin 类型的 Login 对象。
参数
-AccessToken
用于向 SQL Server 进行身份验证的访问令牌,作为用户/密码或 Windows 身份验证的替代方法。
例如,这可用于使用 Service Principal
或 Managed Identity
连接到 SQL Azure DB
和 SQL Azure Managed Instance
。
要使用的参数可以是表示令牌的字符串,也可以是运行 Get-AzAccessToken -ResourceUrl https://database.windows.net
返回的 PSAccessToken
对象。
此参数是模块 v22 中的新增参数。
类型: | PSObject |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ConnectionTimeout
指定在超时失败之前等待服务器连接的秒数。 超时值必须是介于 0 和 65534 之间的整数。 如果指定了 0,则连接尝试不会超时。
类型: | Int32 |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Credential
指定连接到 SQL Server 的 PSCredential 对象。 若要获取凭据对象,请使用 Get-Credential cmdlet。 有关详细信息,请键入 Get-Help Get-Credential。
类型: | PSCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Disabled
指示此 cmdlet 仅获取禁用的 Login 对象。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Encrypt
连接到 SQL Server 时要使用的加密类型。
此值映射到 Microsoft.Data.SqlClient 驱动程序的 SqlConnection 对象的 Encrypt
属性 SqlConnectionEncryptOption
。
在模块的 v22 中,默认为 Optional
(为了与 v21 兼容)。 在模块的 v23+ 中,默认值为“必需”,这可能会为现有脚本创建中断性变更。
此参数是模块 v22 中的新增参数。
类型: | String |
接受的值: | Mandatory, Optional, Strict |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-HasAccess
指示此 cmdlet 仅获取有权访问 SQL Server 实例的 Login 对象。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-HostNameInCertificate
用于验证 SQL Server TLS/SSL 证书的主机名。 如果为强制加密启用了 SQL Server 实例,并且想要使用主机名/shortname 连接到实例,则必须传递此参数。 如果省略此参数,则必须将完全限定域名(FQDN)传递给 -ServerInstance 才能连接到为强制加密启用的 SQL Server 实例。
此参数是模块 v22 中的新增参数。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-InputObject
指定此 cmdlet 为其获取 Login 对象的 SQL Server 管理对象 (SMO) 对象。
类型: | Server |
Position: | 1 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Locked
指示此 cmdlet 仅获取锁定的 Login 对象。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-LoginName
指定此 cmdlet 获取的 Login 对象的名称数组。 区分大小写与 SQL Server 实例的区分大小写相同。
类型: | String |
别名: | Name |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-LoginType
指定此 cmdlet 获取的 Login 对象的类型。
类型: | LoginType |
接受的值: | WindowsUser, WindowsGroup, SqlLogin, Certificate, AsymmetricKey, ExternalUser, ExternalGroup |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-PasswordExpired
指示此 cmdlet 仅获取具有过期密码的 Login 对象。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Path
指定运行此 cmdlet 的 SQL Server 的路径。 默认值为当前工作目录。
类型: | String |
Position: | 1 |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ProgressAction
确定 PowerShell 如何响应脚本、cmdlet 或提供程序生成的进度更新,例如由 Write-Progress cmdlet 生成的进度栏。 Write-Progress cmdlet 创建显示命令状态的进度栏。
类型: | ActionPreference |
别名: | proga |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-RegEx
指示此 cmdlet 将 LoginName 参数的值视为正则表达式。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ServerInstance
指定 SQL Server 实例的名称。 对于默认实例,请指定计算机名称。 对于命名实例,请使用 ComputerName\InstanceName 格式。
类型: | String[] |
Position: | 1 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-TrustServerCertificate
指示通道是否在绕过证书链以验证信任的同时进行加密。
在模块的 v22 中,默认为 $true
(为了与 v21 兼容)。 在模块的 v23+ 中,默认值将为“$false”,这可能会为现有脚本创建中断性变更。
此参数是模块 v22 中的新增参数。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Wildcard
指示此 cmdlet 解释 LoginName 参数值中的通配符。
类型: | SwitchParameter |
别名: | Like |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
Microsoft.SqlServer.Management.Smo.Server
System.String[]