Update README.md
This commit is contained in:
		
							parent
							
								
									6aee423331
								
							
						
					
					
						commit
						bc59f0bb8c
					
				
					 1 changed files with 148 additions and 52 deletions
				
			
		
							
								
								
									
										200
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										200
									
								
								README.md
									
										
									
									
									
								
							|  | @ -33,11 +33,12 @@ | ||||||
| - [Socket](#Socket) | - [Socket](#Socket) | ||||||
| - [Excel](#Excel) | - [Excel](#Excel) | ||||||
| - [XML](#XML) | - [XML](#XML) | ||||||
| - [DSC](#DSC) |  | ||||||
| - [Git](#Git) | - [Git](#Git) | ||||||
| - [SQLite](#SQLite) | - [SQLite](#SQLite) | ||||||
| - [MySQL](#MySQL) | - [MySQL](#MySQL) | ||||||
| - [MSSQL](#MSSQL) | - [MSSQL](#MSSQL) | ||||||
|  | - [DSC](#DSC) | ||||||
|  | - [Ansible](#Ansible) | ||||||
| 
 | 
 | ||||||
| ### Help | ### Help | ||||||
| `Get-Verb` действия/глаголы, утвержденные для использования в командлетах \ | `Get-Verb` действия/глаголы, утвержденные для использования в командлетах \ | ||||||
|  | @ -2887,57 +2888,6 @@ West,Texas,927,923.71 | ||||||
| $null,Tennessee,466,770.67 | $null,Tennessee,466,770.67 | ||||||
| "@ | "@ | ||||||
| ``` | ``` | ||||||
| # DSC |  | ||||||
| 
 |  | ||||||
| `Import-Module PSDesiredStateConfiguration` \ |  | ||||||
| `(Get-Module PSDesiredStateConfiguration).ExportedCommands` \ |  | ||||||
| `Get-DscLocalConfigurationManager` |  | ||||||
| 
 |  | ||||||
| `Get-DscResource` \ |  | ||||||
| `Get-DscResource -Name File -Syntax` # https://learn.microsoft.com/ru-ru/powershell/dsc/reference/resources/windows/fileresource?view=dsc-1.1 |  | ||||||
| 
 |  | ||||||
| `Ensure = Present` настройка должна быть включена (каталог должен присутствовать, процесс должен быть запущен, если нет – создать, запустить) \ |  | ||||||
| `Ensure = Absent` настройка должна быть выключена (каталога быть не должно, процесс не должен быть запущен, если нет – удалить, остановить) |  | ||||||
| ``` |  | ||||||
| Configuration DSConfigurationProxy { |  | ||||||
|     Node uk-vproxy-01 { |  | ||||||
|         File CreateDir { |  | ||||||
|             Ensure = "Present" |  | ||||||
|             Type = "Directory" |  | ||||||
|             DestinationPath = "C:\Temp" |  | ||||||
|         } |  | ||||||
|         Service StopW32time { |  | ||||||
|             Name = "w32time" |  | ||||||
|             State = "Stopped" # Running |  | ||||||
|         } |  | ||||||
| 		WindowsProcess RunCalc { |  | ||||||
|             Ensure = "Present" |  | ||||||
|             Path = "C:\WINDOWS\system32\calc.exe" |  | ||||||
|             Arguments = "" |  | ||||||
|         } |  | ||||||
|         Registry RegSettings { |  | ||||||
|             Ensure = "Present" |  | ||||||
|             Key = "HKEY_LOCAL_MACHINE\SOFTWARE\MySoft" |  | ||||||
|             ValueName = "TestName" |  | ||||||
|             ValueData = "TestValue" |  | ||||||
|             ValueType = "String" |  | ||||||
|         } |  | ||||||
| #		WindowsFeature IIS { |  | ||||||
| #            Ensure = "Present" |  | ||||||
| #            Name = "Web-Server" |  | ||||||
| #        } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| ``` |  | ||||||
| `$Path = (DSConfigurationProxy).DirectoryName` \ |  | ||||||
| `Test-DscConfiguration -Path $Path | select *` ResourcesInDesiredState - уже настроено, ResourcesNotInDesiredState - не настроено (не соответствует) \ |  | ||||||
| `Start-DscConfiguration -Path $Path` \ |  | ||||||
| `Get-Job` \ |  | ||||||
| `$srv = "uk-vproxy-01"` \ |  | ||||||
| `Get-Service -ComputerName $srv | ? name -match w32time # Start-Service` \ |  | ||||||
| `icm $srv {Get-Process | ? ProcessName -match calc} | ft # Stop-Process -Force` \ |  | ||||||
| `icm $srv {ls C:\ | ? name -match Temp} | ft # rm` |  | ||||||
| 
 |  | ||||||
| # Git | # Git | ||||||
| 
 | 
 | ||||||
| `git --version` | `git --version` | ||||||
|  | @ -3544,3 +3494,149 @@ exec sp_msforeachtable N'UPDATE STATISTICS ? WITH FULLSCAN' | ||||||
| - Очистка процедурного кэша, выполняется после обновления статистики. Оптимизатор MS SQL Server кэширует планы запросов для их повторного выполнения. Это делается для того, чтобы экономить время, затрачиваемое на компиляцию запроса в том случае, если такой же запрос уже выполнялся и его план известен. После обновия статистики, не будет очищен процедурный кэш, то SQL Server может выбрать старый (неоптимальный) план запроса из кэша вместо того, чтобы построить новый (более оптимальный) план. | - Очистка процедурного кэша, выполняется после обновления статистики. Оптимизатор MS SQL Server кэширует планы запросов для их повторного выполнения. Это делается для того, чтобы экономить время, затрачиваемое на компиляцию запроса в том случае, если такой же запрос уже выполнялся и его план известен. После обновия статистики, не будет очищен процедурный кэш, то SQL Server может выбрать старый (неоптимальный) план запроса из кэша вместо того, чтобы построить новый (более оптимальный) план. | ||||||
| 
 | 
 | ||||||
| DBCC FREEPROCCACHE | DBCC FREEPROCCACHE | ||||||
|  | 
 | ||||||
|  | # DSC | ||||||
|  | 
 | ||||||
|  | `Import-Module PSDesiredStateConfiguration` \ | ||||||
|  | `(Get-Module PSDesiredStateConfiguration).ExportedCommands` \ | ||||||
|  | `Get-DscLocalConfigurationManager` | ||||||
|  | 
 | ||||||
|  | `Get-DscResource` \ | ||||||
|  | `Get-DscResource -Name File -Syntax` # https://learn.microsoft.com/ru-ru/powershell/dsc/reference/resources/windows/fileresource?view=dsc-1.1 | ||||||
|  | 
 | ||||||
|  | `Ensure = Present` настройка должна быть включена (каталог должен присутствовать, процесс должен быть запущен, если нет – создать, запустить) \ | ||||||
|  | `Ensure = Absent` настройка должна быть выключена (каталога быть не должно, процесс не должен быть запущен, если нет – удалить, остановить) | ||||||
|  | ``` | ||||||
|  | Configuration DSConfigurationProxy { | ||||||
|  |     Node uk-vproxy-01 { | ||||||
|  |         File CreateDir { | ||||||
|  |             Ensure = "Present" | ||||||
|  |             Type = "Directory" | ||||||
|  |             DestinationPath = "C:\Temp" | ||||||
|  |         } | ||||||
|  |         Service StopW32time { | ||||||
|  |             Name = "w32time" | ||||||
|  |             State = "Stopped" # Running | ||||||
|  |         } | ||||||
|  | 		WindowsProcess RunCalc { | ||||||
|  |             Ensure = "Present" | ||||||
|  |             Path = "C:\WINDOWS\system32\calc.exe" | ||||||
|  |             Arguments = "" | ||||||
|  |         } | ||||||
|  |         Registry RegSettings { | ||||||
|  |             Ensure = "Present" | ||||||
|  |             Key = "HKEY_LOCAL_MACHINE\SOFTWARE\MySoft" | ||||||
|  |             ValueName = "TestName" | ||||||
|  |             ValueData = "TestValue" | ||||||
|  |             ValueType = "String" | ||||||
|  |         } | ||||||
|  | #		WindowsFeature IIS { | ||||||
|  | #            Ensure = "Present" | ||||||
|  | #            Name = "Web-Server" | ||||||
|  | #        } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | `$Path = (DSConfigurationProxy).DirectoryName` \ | ||||||
|  | `Test-DscConfiguration -Path $Path | select *` ResourcesInDesiredState - уже настроено, ResourcesNotInDesiredState - не настроено (не соответствует) \ | ||||||
|  | `Start-DscConfiguration -Path $Path` \ | ||||||
|  | `Get-Job` \ | ||||||
|  | `$srv = "uk-vproxy-01"` \ | ||||||
|  | `Get-Service -ComputerName $srv | ? name -match w32time # Start-Service` \ | ||||||
|  | `icm $srv {Get-Process | ? ProcessName -match calc} | ft # Stop-Process -Force` \ | ||||||
|  | `icm $srv {ls C:\ | ? name -match Temp} | ft # rm` | ||||||
|  | 
 | ||||||
|  | # Ansible | ||||||
|  | 
 | ||||||
|  | `apt-get install ansible` | ||||||
|  | 
 | ||||||
|  | `nano /etc/ansible/ansible.cfg` \ | ||||||
|  | `#inventory = /etc/ansible/hosts` | ||||||
|  | 
 | ||||||
|  | `nano /etc/ansible/hosts` | ||||||
|  | ``` | ||||||
|  | [elk] | ||||||
|  | devlog-01.domain.local ansible_host=192.168.11.230 | ||||||
|  | netbox-01.domain.local ansible_host=192.168.11.245 | ||||||
|  | 
 | ||||||
|  | [all:vars] | ||||||
|  | path_user=/home/us | ||||||
|  | ansible_user=us | ||||||
|  | ansible_ssh_port=22 | ||||||
|  | 
 | ||||||
|  | [ws_vproxy] | ||||||
|  | vproxy-01 ansible_host=192.168.11.196 | ||||||
|  | vproxy-03 ansible_host=192.168.11.188 | ||||||
|  | vproxy-04 ansible_host=192.168.11.64 | ||||||
|  | 
 | ||||||
|  | [ws_vproxy:vars] | ||||||
|  | ansible_user=winrm | ||||||
|  | #ansible_user=support4@DOMAIN.LOCAL | ||||||
|  | ansible_password=123098 | ||||||
|  | ansible_port=5986 | ||||||
|  | ansible_connection=winrm | ||||||
|  | ansible_winrm_transport=basic | ||||||
|  | #ansible_winrm_transport=kerberos | ||||||
|  | ansible_winrm_server_cert_validation=ignore | ||||||
|  | validate_certs=false | ||||||
|  | ``` | ||||||
|  | `ansible-inventory --list -y` | ||||||
|  | 
 | ||||||
|  | ### Modules | ||||||
|  | ``` | ||||||
|  | ansible-doc -l | grep windows # оф. документация модулей | ||||||
|  | ansible elk -m ping | ||||||
|  | #ansible all -m ping -u us | ||||||
|  | ansible all -m shell -a "lsblk " -vvvvv # debug выполнения команды, чем больше "v"  тем больше отображение | ||||||
|  | ansible elk -m setup | grep -iP "mem|proc" # информация о железе | ||||||
|  | ansible elk -m apt -a "name=mc" | ||||||
|  | ansible elk -m service -a "name=ssh state=restarted enabled=yes" -b # перезапустить службу | ||||||
|  | # -b - повысить привилегии (sudo) | ||||||
|  | ``` | ||||||
|  | ### Copy | ||||||
|  | ``` | ||||||
|  | echo "21" > test.txt | ||||||
|  | ansible elk -m copy -a "src=test.txt dest=/root mode=777" -b | ||||||
|  | ansible elk -a "ls /root" -b | ||||||
|  | ansible elk -a "cat /root/test.txt" -b | ||||||
|  | ``` | ||||||
|  | ### Args | ||||||
|  | ``` | ||||||
|  | ansible elk -m shell -a "uptime" | ||||||
|  | ansible elk -a "mkdir /home/us/test" | ||||||
|  | ansible elk -a "ls $path_user" | ||||||
|  | ``` | ||||||
|  | ### Windows Modules | ||||||
|  | ``` | ||||||
|  | ansible ws_vproxy -m win_ping | ||||||
|  | ansible ws_vproxy -m raw -a "ipconfig" | ||||||
|  | ansible ws_vproxy -m win_shell -a "Get-Service | select name,status" | ||||||
|  | ansible ws_vproxy -m win_service -a "name=Spooler state=started" | ||||||
|  | ``` | ||||||
|  | ### Playbook | ||||||
|  | 
 | ||||||
|  | `nano /etc/ansible/elk.yml` | ||||||
|  | ``` | ||||||
|  | - hosts: elk | ||||||
|  |   become: yes | ||||||
|  |   tasks: | ||||||
|  |     - name: Create group tester | ||||||
|  |       action: group name=tester state=present | ||||||
|  |     - name: Add user to system | ||||||
|  |       user: name=tester shell=/bin/bash groups=tester append=yes | ||||||
|  | ``` | ||||||
|  | `ansible-playbook /etc/ansible/elk.yml # -i /etc/ansible/hosts` | ||||||
|  | 
 | ||||||
|  | ### Обновить и установить пакет | ||||||
|  | ``` | ||||||
|  | - hosts: all | ||||||
|  |   become: yes | ||||||
|  |   tasks: | ||||||
|  |   - name: Run apt-get update | ||||||
|  |     apt: | ||||||
|  |       update_cache: yes | ||||||
|  |   - name: Install latest version nmap | ||||||
|  |     apt: | ||||||
|  |       name: nmap | ||||||
|  |       state: latest | ||||||
|  | ``` | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue