개요
- mssql에 로그인계정으로 등록된 계정중 sysadmin 권한을 가진 계정의 리스트를 조회한다.
세부내용
- ansible이 수행하는 로그인계정으로 실행하기위해 윈도우 인증을 사용하였다.
- 해당 플레이북이 실행되려면 mssql loginname에 ansible 접속 윈도우계정도 등록해야한다.
- ansible 2.5로 구동하기 때문에 별도의 모듈이 아닌 쉘명령어 win_command를 사용해야 한다.
- 윈도우 명령어 sqlcmd에서 윈도우 인증으로 접속하여 쿼리를 수행하려면 -E 옵션이 있어야 한다.
---
- name: print net user
hosts: all
gather_facts: no
vars:
ansible_connection: winrm
ansible_port: 5985
ansible_winrm_server_cert_validation: ignore
ansible_winrm_scheme: http
ansible_become: false
tasks:
- name: Execute SQL query
win_command: sqlcmd -S "localhost" -d "master" -E -Q "SELECT sp.name AS LoginName, sp.is_disabled AS LoginDisabled, spsid.name AS RoleName FROM sys.server_principals AS sp LEFT JOIN sys.server_role_memb
ers AS srm ON sp.principal_id = srm.member_principal_id LEFT JOIN sys.server_principals AS spsid ON srm.role_principal_id = spsid.principal_id WHERE sp.type IN ('U', 'G', 'S') AND sp.is_disabled = 0 AND sp.na
me NOT LIKE '%%NT%%' ORDER BY sp.name;"
register: result
- name: Display query result
debug:
var: result.stdout_lines
단순희 mssql 로그인계정으로 조회를 하려면 아래와 같다.
test // "{{ mssqlpass }}" <-- 이건 변수처리한거니 이자리에 패스워드 넣으면 됨
---
- name: print net user
hosts: all
vars:
ansible_connection: winrm
ansible_port: 5985
ansible_winrm_server_cert_validation: ignore
ansible_winrm_scheme: http
ansible_winrm_transport: basic
ansible_become: false
tasks:
- name: Execute SQL query
win_command: sqlcmd -S localhost -d master -U test -P "{{ mssqlpass }}" -Q "SELECT SUBSTRING(sp.name, CHARINDEX('\', sp.name) + 1, LEN(sp.name)) AS name_without_hostname FROM sys.server_principals AS sp LEFT JOIN sys.server_role_members AS srm ON sp.principal_id = srm.member_principal_id LEFT JOIN sys.server_principals AS spsid ON srm.role_principal_id = spsid.principal_id WHERE sp.type IN ('U', 'G', 'S') AND sp.is_disabled = 0 AND sp.name NOT LIKE '%%NT %%' and sp.name NOT LIKE '%Users%' ORDER BY name_without_hostname;"
register: result
- name: Display query result
debug:
msg: "{{ inventory_hostname }} {{ result.stdout_lines }}"
앤서블 mssql 계정 조회
ansible mssql loginname list
앤서블 mssql 계정 리스트
반응형
댓글