Add files via upload
This commit is contained in:
parent
d128cd5e6d
commit
abc1e193ad
1 changed files with 151 additions and 56 deletions
207
posh.txt
207
posh.txt
|
|
@ -33,11 +33,12 @@ PowerShell Commands
|
||||||
- Socket
|
- Socket
|
||||||
- Excel
|
- Excel
|
||||||
- XML
|
- XML
|
||||||
- DSC
|
|
||||||
- Git
|
- Git
|
||||||
- SQLite
|
- SQLite
|
||||||
- MySQL
|
- MySQL
|
||||||
- MSSQL
|
- MSSQL
|
||||||
|
- DSC
|
||||||
|
- Ansible
|
||||||
|
|
||||||
### Help
|
### Help
|
||||||
Get-Verb # действия/глаголы, утвержденные для использования в командлетах
|
Get-Verb # действия/глаголы, утвержденные для использования в командлетах
|
||||||
|
|
@ -1155,7 +1156,7 @@ MachineAccount # проверяет корректность регистрац
|
||||||
|
|
||||||
Перенос БД AD (ntds.dit):
|
Перенос БД AD (ntds.dit):
|
||||||
Get-Acl C:\Windows\NTDS | Set-Acl D:\AD-DB # скопировать NTFS разрешения на новый каталог
|
Get-Acl C:\Windows\NTDS | Set-Acl D:\AD-DB # скопировать NTFS разрешения на новый каталог
|
||||||
Stop-Service -ComputerName uk-dc -name NTDS # остановить службу Active Directory Domain Services
|
Stop-Service -ComputerName dc -name NTDS # остановить службу Active Directory Domain Services
|
||||||
ntdsutil # запустить утилиту ntdsutil
|
ntdsutil # запустить утилиту ntdsutil
|
||||||
activate instance NTDS # выбрать активный экземпляр базы AD
|
activate instance NTDS # выбрать активный экземпляр базы AD
|
||||||
files # перейдем в контекст files, в котором возможно выполнение операция с файлами базы ntds.dit
|
files # перейдем в контекст files, в котором возможно выполнение операция с файлами базы ntds.dit
|
||||||
|
|
@ -1163,7 +1164,7 @@ move DB to D:\AD-DB\ # перенести базу AD в новый катало
|
||||||
info # проверить, что БД находится в новом каталоге
|
info # проверить, что БД находится в новом каталоге
|
||||||
move logs to D:\AD-DB\ # переместим в тот же каталог файлы с журналами транзакций
|
move logs to D:\AD-DB\ # переместим в тот же каталог файлы с журналами транзакций
|
||||||
quit
|
quit
|
||||||
Start-Service -ComputerName uk-dc -name NTDS
|
Start-Service -ComputerName dc -name NTDS
|
||||||
|
|
||||||
Сброс пароля DSRM (режим восстановления служб каталогов):
|
Сброс пароля DSRM (режим восстановления служб каталогов):
|
||||||
ntdsutil
|
ntdsutil
|
||||||
|
|
@ -1657,7 +1658,7 @@ New-MoveRequest -Identity "support4" -TargetDatabase it_2022 # перемест
|
||||||
Move-Databasepath $db_name –EdbFilepath "F:\DB\$db_name\$db_name.edb" –LogFolderpath "E:\DB\$db_name\logs\" # переместить БД и транзакционные логи на другой диск
|
Move-Databasepath $db_name –EdbFilepath "F:\DB\$db_name\$db_name.edb" –LogFolderpath "E:\DB\$db_name\logs\" # переместить БД и транзакционные логи на другой диск
|
||||||
Set-MailboxDatabase -CircularLoggingEnabled $true -Identity $db_name # включить циклическое ведение журнала (Circular Logging), где последовательно пишутся 4 файла логов по 5 МБ, после чего первый лог-файл перезаписывается
|
Set-MailboxDatabase -CircularLoggingEnabled $true -Identity $db_name # включить циклическое ведение журнала (Circular Logging), где последовательно пишутся 4 файла логов по 5 МБ, после чего первый лог-файл перезаписывается
|
||||||
Set-MailboxDatabase -CircularLoggingEnabled $false -Identity $db_name # отключить циклическое ведение журнала
|
Set-MailboxDatabase -CircularLoggingEnabled $false -Identity $db_name # отключить циклическое ведение журнала
|
||||||
Get-MailboxDatabase -Server "ukh-exch-mx-01" -Status | select EdbFilePath,LogFolderPath,LogFilePrefix # путь к БД, логам, имя текущего актуального лог-файла
|
Get-MailboxDatabase -Server "exch-mx-01" -Status | select EdbFilePath,LogFolderPath,LogFilePrefix # путь к БД, логам, имя текущего актуального лог-файла
|
||||||
|
|
||||||
### MailboxRepairRequest
|
### MailboxRepairRequest
|
||||||
New-MailboxRepairRequest -Database it2 -CorruptionType ProvisionedFolder, SearchFolder, AggregateCounts, Folderview # запустить последовательный (в конкретный момент времени не доступен один почтовый ящик) тест и исправление ошибок на прикладном уровне
|
New-MailboxRepairRequest -Database it2 -CorruptionType ProvisionedFolder, SearchFolder, AggregateCounts, Folderview # запустить последовательный (в конкретный момент времени не доступен один почтовый ящик) тест и исправление ошибок на прикладном уровне
|
||||||
|
|
@ -1685,7 +1686,7 @@ ContentIndexState : Failed
|
||||||
Status : Dismounted
|
Status : Dismounted
|
||||||
ContentIndexState : Failed
|
ContentIndexState : Failed
|
||||||
|
|
||||||
Get-MailboxDatabase -Server ukh-exch-mx-01 -Status | fl Name,EdbFilePath,LogFolderPath # проверить расположение базы и транзакционных логов
|
Get-MailboxDatabase -Server exch-mx-01 -Status | fl Name,EdbFilePath,LogFolderPath # проверить расположение базы и транзакционных логов
|
||||||
LogFolderPath - директория логов
|
LogFolderPath - директория логов
|
||||||
E18 - имя транкзакционного лога (из него читаются остальные логи)
|
E18 - имя транкзакционного лога (из него читаются остальные логи)
|
||||||
dismount-Database db_name # отмантировать БД
|
dismount-Database db_name # отмантировать БД
|
||||||
|
|
@ -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,148 @@ 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 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 = "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