Some tips for me and other


Fix All Failed Exchange Database Content Indexes

Source: One of the issues that my Get-DAGHealth.ps1 script alerts for is failed content indexes on database copies in a database availability group. Note: for failed content indexes on servers that are not DAG members refer to this article instead. Failed content indexes can easily go unnoticed when everything else is working fine however they […]

Windows 10 + HP2055 + Duplex printing

Windows 10 setup universal hp driver for HP2055DN and every time reset Duplex printing module to “Not installed”. I’ve added a startup script in scheduler to set this property to “Installed”. set-printerproperty “HP2055DN” -PropertyName Config:DuplexUnit Installed

Powershell + Sign a script

Set-AuthenticodeSignature my.ps1 @(Get-ChildItem cert:\CurrentUser\My -codesign)[0]

Powershell + Add a user to a group to a local workstation

Invoke-Command -ComputerName S1, S2 -ScriptBlock {add-LocalGroupMember -Group “Administrators” -Member username }

Powershell + Get installed software

get-ciminstance win32_product | select name | sort-object name

Powershell + Mikrotik backups

Source: #зададим политику сразу, чтобы не вспминать команду при переносе Set-ExecutionPolicy remotesigned -scope currentuser #установка и импорт библиотеки для ssh Install-Module -Name Posh-SSH Import-Module posh-ssh $curDir = $MyInvocation.MyCommand.Definition | split-path -parent function bkprtr { param($ipaddr) #тут указываем логин и пароль к роутерам с правами на ftp и ssh. $secpasswd = ConvertTo-SecureString “Ваш_пароль_к_роутеру” -AsPlainText -Force […]

Powershell + Users in OU but not in the groups

import-module ActiveDirectory #$groups = ‘group1′,’group2′,’group3’ $groups = ‘mygroup’ $notpresent = @() $ourset = @{} foreach ($group in $groups) { $members = (get-group $group).members foreach ($member in $members) { if ( !$ourset.contains($member.distinguishedname) ) { $ourset.($member.distinguishedname) = $true } } } get-recipient -OrganizationalUnit MyOU | foreach { if ( !$ourset.contains($_.distinguishedname) ) { $notpresent += $_ } } […]

Powershell + Replace user’s manager

$userobj = Get-ADObject -SearchBase “DC=local, DC=com” -Filter {objectClass -eq “user” -and objectCategory -eq “person” -and manager -eq “CN=manager,DC=local,DC=com”} -Properties name, manager, department foreach ($user in $userobj) { Set-ADObject -Identity $user -replace @{“manager”=”CN=manager2,DC=local,DC=com”} write-host $, $user.manager }

Powershell: send and read email

In your Gmail account we have to turn the feature “Less secure app” on. To read mail I used the fine tool for PS: Script example: #============================================================== # Mail function global:Send-Email ($recipient,$SSubject,$BBody) { $email = “” $pass = “password” $smtpServer = “” $Credentials = New-Object System.Management.Automation.PSCredential -ArgumentList $email, $($pass | ConvertTo-SecureString -AsPlainText -Force) $From […]

Powershell + MySQL

Interesting script and MySQL connector for powershell: Script: Param( [Parameter( Mandatory = $true, ParameterSetName = ”, ValueFromPipeline = $true)] [string]$Query ) $MySQLAdminUserName = ‘username’ $MySQLAdminPassword = ‘password’ $MySQLDatabase = ‘MySQL-DB’ $MySQLHost = ‘MySQL-Host’ $ConnectionString = “server=” + $MySQLHost + “;port=3306;uid=” + $MySQLAdminUserName + “;pwd=” + $MySQLAdminPassword + “;database=”+$MySQLDatabase Try { [void][System.Reflection.Assembly]::LoadWithPartialName(“MySql.Data”) $Connection = New-Object MySql.Data.MySqlClient.MySqlConnection […]

Previous Posts