ClientNetworkProtocol 은 Client 의 네트워크 접속 프로토콜의 정의와 우선순위를 결정하는 클래스입니다.
지난번과 같이 WMIObject 의 ClientNetworkProtocol 클래스를 가져와 볼까요
Get-WmiObject -namespace root\Microsoft\SqlServer\ComputerManagement10 -class ClientNetworkProtocol | Select-Object ProtocolName, ProtocolDisplayName, ProtocolOrder
저 같은 경우 로컬에 SQL이 깔려있기 때문에 우선순위 첫번째가 메모리로 나오네요
원격인 경우 TCP가 1 로 보입니다. 참고로 ProtocolOrder 0은 비사용중임을 나타냅니다.
이 클래스의 메소드들은..
Get-WmiObject -namespace root\Microsoft\SqlServer\ComputerManagement10 -class ClientNetworkProtocol |
Get-Member -memberType Method | Select-Object Name
이와 같이 프로토콜의 사용여부와 우선순위를 설정하는 메소드들입니다.
위에 메소드를 이용한 아래의 간단한 스크립트는 Named Pipes 를 비사용으로 바꾸는 역할을 합니다.
$WClientNetProtol=Get-WmiObject –namespace root\Microsoft\SqlServer\ComputerManagement10 -class ClientNetworkProtocol -filter "ProtocolName='np'"
$WClientNetProtol.SetDisable()
Named Pipes가 비사용중으로 바뀌었네요
ClientNetworkProtocol의 속성 변경을 원할 경우 ClientNetworkProtocolProperty 클래스를 이용하시면 됩니다.
살짝 살펴보면 ..
Get-WmiObject -namespace root\Microsoft\SqlServer\ComputerManagement10 -class
ClientNetworkProtocolProperty | Select-Object PropertyName, PropertyNumVal, PropertyStrVal,ProtocolName
기본접속 포트가 1433으로 설정되어 있네요
아래는 TCP/IP 프로토콜의 기본접속 포트를 1433에서 15886로 변경하는 스크립트입니다.
$WClientNetProto=Get-WmiObject –namespace root\Microsoft\SqlServer\ComputerManagement10 –class
ClientNetworkProtocolProperty -filter "PropertyName='Default Port'"
$ WClientNetProto.SetNumericalValue(15886)
참고: SQL Server Administration with Windows PowerShell
원본: http://vstarmanv.tistory.com/entry/MSSQLWMI-for-SQL-Management2
'IT이야기 > Powershell' 카테고리의 다른 글
Viewing Truncated PowerShell Output (0) | 2019.08.22 |
---|---|
윈도우 업데이트 리스트 카운트 구하기 (0) | 2019.05.27 |
PowerShell 을 이용해서 파일 내용 대량으로 변경 하기출처 (0) | 2019.05.21 |
파워쉘로 mssql 쿼리하는 법 (0) | 2019.05.21 |
Where-Object (0) | 2018.12.13 |