Get-SqlLogin

傳回 SQL Server 實例中的 Login 物件。

Syntax

Get-SqlLogin
   [-LoginName <String>]
   [-Disabled]
   [-Locked]
   [-PasswordExpired]
   [-HasAccess]
   [-RegEx]
   [-Wildcard]
   [-LoginType <LoginType>]
   [[-Path] <String>]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [<CommonParameters>]
Get-SqlLogin
   [-LoginName <String>]
   [-Disabled]
   [-Locked]
   [-PasswordExpired]
   [-HasAccess]
   [-RegEx]
   [-Wildcard]
   [-LoginType <LoginType>]
   [[-InputObject] <Server>]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [<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>]
   [<CommonParameters>]

Description

Get-SqlLogin Cmdlet 會傳回 SQL Server 實例中的 Login 物件。 如果您指定 Login 物件的名稱,Cmdlet 會移除該特定物件。

範例

範例 1:取得實例的所有 Login 物件

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

此命令會傳回 Login 物件,其名稱符合名稱為 『MyServerInstance』 SQL Server 的正規表示式 “\bNT.*”。

範例 3:取得類型的 Login 物件

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

此命令會傳回名為 『MyServerInstance』 之 SQL Server 實例中類型為 SqlLogin 的 Login 物件。

參數

-AccessToken

用來驗證 SQL Server 存取令牌,作為使用者/密碼或 Windows 驗證的替代方案。

例如,這可用來連線至 SQL Azure DB 或使用 或使用 SQL Azure Managed InstanceService PrincipalManaged Identity

要使用的參數可以是表示令牌的字串,或是 PSAccessToken 執行 Get-AzAccessToken -ResourceUrl https://database.windows.net所傳回的物件。

這個參數是模組 v22 中的新功能。

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionTimeout

指定在逾時失敗之前等候伺服器連線的秒數。 逾時值必須是介於 0 到 65534 之間的整數。 如果指定了 0,連線嘗試就不會逾時。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

指定連接 SQL Server 的 PSCredential 物件。 若要取得認證物件,請使用 Get-Credential Cmdlet。 如需詳細資訊,請輸入 Get-Help Get-Credential。

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Disabled

表示此 Cmdlet 只會取得停用的 Login 物件。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Encrypt

連接到 SQL Server 時要使用的加密類型。

這個值會對應至 Encrypt Microsoft.Data.SqlClient 驅動程式之 SqlConnection 物件上的 屬性 SqlConnectionEncryptOption

在模組的 v22 中,預設為 Optional (,以便與 v21) 相容。 在模組 v23+ 中,預設值會是「強制」,這可能會為現有的腳本建立重大變更。

這個參數是模組 v22 中的新功能。

Type:String
Accepted values:Mandatory, Optional, Strict
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HasAccess

表示此 Cmdlet 只會取得可存取 SQL Server 實例的 Login 物件。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HostNameInCertificate

用於驗證 SQL Server TLS/SSL 憑證的主機名稱。 如果您的 SQL Server 實例已啟用強制加密,而且您想要使用主機名/shortname 連線到實例,則必須傳遞此參數。 如果省略此參數,則必須將完整域名 (FQDN) 傳遞至 -ServerInstance,才能連線到啟用強制加密的 SQL Server 實例。

這個參數是模組 v22 中的新功能。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

指定 SQL Server 管理物件 (SMO) 物件這個 Cmdlet 取得 Login 物件的 SQL Server。

Type:Server
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Locked

表示此 Cmdlet 只會取得鎖定的 Login 物件。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LoginName

指定這個 Cmdlet 取得的 Login 物件名稱陣列。 區分大小寫與 SQL Server 實例的相同。

Type:String
Aliases:Name
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LoginType

指定這個 Cmdlet 取得的 Login 物件類型。

Type:LoginType
Accepted values:WindowsUser, WindowsGroup, SqlLogin, Certificate, AsymmetricKey, ExternalUser, ExternalGroup
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PasswordExpired

表示此 Cmdlet 只會取得具有過期密碼的 Login 物件。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

指定此 Cmdlet 執行作業所在的 SQL Server 路徑。 預設值為目前的工作目錄。

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RegEx

表示此 Cmdlet 會將 LoginName 參數的值視為正則表示式。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServerInstance

指定實例的名稱 SQL Server。 針對預設實例,指定計算機名稱。 針對具名實例,請使用 ComputerName\InstanceName 格式。

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-TrustServerCertificate

指出通道是否會在略過憑證鏈結以驗證信任時加密。

在模組的 v22 中,預設為 $true (,以便與 v21) 相容。 在模組 v23+ 中,預設值會是 『$false』,這可能會為現有的腳本建立重大變更。

這個參數是模組 v22 中的新功能。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Wildcard

表示此 Cmdlet 會在 LoginName 參數的值中解譯通配符。

Type:SwitchParameter
Aliases:Like
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

Microsoft.SqlServer.Management.Smo.Server

System.String[]