To content | To menu | To search

Friday, July 5 2019

PS STOP Cisco Device With Powershell

Stop cisco device with powershell


# Name: ShutdownMPLS.ps1

#################################################################################################
# Description: Script connects to cisco device and runs commands                                #
#################################################################################################

#################################################################################################
# Requirements: Powershell 3.0, .Net 4.0 Posh-SSH module                                        #
#################################################################################################

#Set Creds
$secpasswd = ConvertTo-SecureString "USERNAME" -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential ("PASSWORD", $secpasswd)

#Build SSH session
New-SSHSession -ComputerName "HOSTNAMEORIP" -Credential $creds -AcceptKey $true
#Build open stream for use in cisco devices
$session = Get-SSHSession -Index 0
$stream = $session.Session.CreateShellStream("dumb", 0, 0, 0, 0, 1000)
$stream.Write("config t`n")
$stream.Write("int gig 0/2`n")
$stream.Write("shutdown`n")
$stream.Write("do logout`n")
$stream.Write("logout`n")
Remove-SSHSession -Index 0

Tuesday, July 8 2014

PS Remove All Network Printers

Suppression all network print

# Set variable
# this log were in ....user/temp/
$logfile = "$env:TEMP\_del_network_printers.log"

# Creat or add file log
Write-output "$(Get-Date) => Start process delete network printers" | Out-File $logfile -Append

# Scripts remove network printers
# Remove print local change false => true
wmic printer where "Local='FALSE'" delete | Out-File $logfile -Append

# End file log
Write-output "$(Get-Date) => End delete network printers" | Out-File $logfile -Append

Monday, April 7 2014

PS Les Boucles

D.Structures de contrôle 1.Do

$a = 1
do {$a; $a++}
while ($a -lt 10)
$a = 1
do {$a; $a++} until ($a -eq 10)

2.While

$a = 1
while ($a -lt 10) {$a; $a++}

3.For

for ($a = 1; $a -le 10; $a++) {$a}

4.Break

$a = 1,2,3,4,5,6,7,8,9
foreach ($i in $a)
{
if ($i -eq 3)
{
break
}
else
{
$i
}
}

5.If

$a = "white"
if ($a -eq "red")
{"The color is red."}
elseif ($a -eq "white")
{"The color is white."}
else
{"The color is blue."}

6.Foreach

Foreach ($item in Get-Process)
{
"$($item.CPU*1000)"
}
Get-Process|Foreach{
"$($_.CPU*1000)"
}
Get-Process|Foreach{$_.CPU*1000}
Get-Process|Foreach CPU
foreach ($i in get-childitem c:\windows)
{$i.extension}
"un vélo.","un ballon","une chouette." | ForEach-Object Insert
-ArgumentList 0,"C'est "

7.Switch

$a = 5
Switch ($a)
{
1 {"The color is red."}
2 {"The color is blue."}
3 {"The color is green."}
4 {"The color is yellow."}
5 {"The color is orange."}
6 {"The color is purple."}
7 {"The color is pink."}
8 {"The color is brown."}
default {"The color could not be determined."}
}
Switch –regex (chaine)
{
'^test'{'Ca commence par test';break}
'test$' {'Ca finit par test';break}
}

8.Exemple conditionnelle

Clear
$chaine=Read-Host 'Texte'
Switch –regex ($chaine)
{
'^test'{'Ca commence par test';break}
'test$' {'Ca finit par test';break}
Default {'Ni l''un, ni l''autre'}
}
If($chaine -Match '^test')
{
'Ca commence par test'
}
ElseIf($chaine -Match 'test$')
{
'Ca finit par test'
}
Else
{
'Ni l''un, ni l''autre'
}

PS Service

1.La liste des services

Get-Service
Get-Service | Where-Object {$_.status -eq "stopped"}
Get-Service | Where-Object {$_.status -eq "running"} |Select-Object Name, DisplayName
Get-Service | Sort-Object status,displayname
Get-Service | Sort-Object status | Group-Object -Property status

2.Démarrer, arrêter un service

Stop-Service MySQL
Start-Service MySQL
Restart-Service MySQL
Restart-Service -displayname "MySQL"

3.Mettre en suspens, reprendre un service Le service en état suspendu ne permet plus des connexions supplémentaires.

Suspend-Service MySQL
Resume-Service tapisrv

4.Modifier les propriétés des services

set-service -name lanmanworkstation -DisplayName "LanMan Workstation"
get-wmiobject win32_service -filter "name = 'SysmonLog'"
set-service sysmonlog -startuptype automatic
Startuptype : manual, stopped
Set-Service clipsrv -startuptype "manual"
Set-Service "ati hotkey poller" -description "This is ATI HotKey Poller service."

PS Envoi Mail

Envoi de mail - Méthode Send-MailMessage

$motdepasse = ConvertTo-SecureString "denis" -AsPlainText -Force
$authentification = New-Object System.Management.Automation.PSCredential ("denis@dutout.net", $motdepasse)
#Get-Credential -UserName 'usertarget@mydomain.net' -Message Usersource
Send-MailMessage -To 'usertarget@mydomain.net' -Subject 'test PS' -From 'Usersource@mydomain.net' -Body 'test PS' -SmtpServer 'smtp.mydomain.net' -Credential $authentification

- Méthode .Net

$CredUser = "user"
$CredPassword = "password"
$EmailFrom = "Usersource@gmail.com"
$EmailTo = "Usertarget@gmail.com"
$Subject = "Objet"
$Body = "message"
$SMTPServer = "smtp.gmail.com"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($CredUser, $CredPassword);
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)

PS Ouvrir un programme

Appel d'un programme

Invoke-Item c:\windows\system32\calc.exe

PS creation/copie/suppression fichier/dossier

1.Copie de fichiers : Copy-Item

Copy-Item d:\scripts\test.txt c:\test
Copy-Item d:\scripts\* c:\test
Copy-Item d:\scripts\*.txt c:\test
Copy-Item d:\scripts c:\test -recurse

2.Création de fichiers : New-Item

New-Item d:\scripts\Windows PowerShell -type directory
New-Item d:\scripts\new_file.txt -type file
New-Item d:\scripts\new_file.txt -type file -force

3.Déplacer les fichiers: Move-Item

Move-Item d:\scripts\test.zip c:\test
Move-Item d:\scripts\*.zip c:\test
Move-Item d:\scripts\test.zip c:\test -force
Move-Item d:\scripts\950.log c:\test\mylog.log

4.Renommer les fichiers: Rename-Item

Rename-Item d:\scripts\test.txt new_name.txt

Suppression de fichiers : Remove-Item

Remove-Item d:\scripts\test.txt
Remove-Item d:\scripts\*
Remove-Item d:\scripts\* -recurse
Remove-Item c:\*.tmp –recurse
Remove-Item d:\scripts\* -exclude *.wav
Remove-Item d:\scripts\* -include .wav,.mp3
Remove-Item d:\scripts\* -include *.txt -exclude *test*

Friday, April 4 2014

PS Ajouter/Deplacer/supprimer ordinateur du domaine

- Pour joindre un ordinateur au domaine saisissez la commande suivante :

Netdom  join nom_ordinateur /Domain:domaine_à_joindre /Userd:domaine\nom_utilisateur /Passwordd:motdepasse /UserO:administrateur_local /passwordO:motdepasse /reboot:temps 

- Pour déplacer un ordinateur d'un domaine à un autre:

 Netdom move nom_ordinateur /Domain:domaine_à_joindre /Userd:domaine\nom_utilisateur /Passwordd:motdepasse /UserO:administrateur_local /passwordO:motdepasse /reboot:temps 

- Pour supprimer un ordinateur d'un domaine :

Netdom remove nom_ordinateur /Domain:domaine_ordi /Userd:domaine\nom_utilisateur /Passwordd:motdepasse /reboot:temps

Avec les paramètres:

   nom_ordinateur : nom actuel de l'ordinateur 
   domaine_à_joindre : nom du domaine que l'on va joindre 
   domaine_ordi : nom du domaine auquel appartient l'ordinateur à supprimer 
   domaine\nom_utilisateur : compte d'utilisateur de domaine disposant de droits d'administration 
   administrateur_local : compte d'utilisateur disposant de droits d'administration en local 
   temps : le temps en secondes avant que l'ordinateur redémarre.

Thursday, April 3 2014

PS Activation PowerShell (PS)

Activation Exécution des scripts powershell

Pour voir si il est actif ou non.

get-executionPolicy

si il affiche:

Restricted

il faut l'activer taper la commande: (il faut être admin local du poste)

set-executionPolicy RemoteSigned

Validez par O ou Y

refaites la commande:

get-executionPolicy

RemoteSigned doit apparaitre

PowerShell propose 4 modes de sécurité différents: Les valeurs valides sont :

-- Restricted : ne charge pas de fichiers de configuration ou n'exécute pas de scripts. « Restricted » est la valeur par défaut.

-- AllSigned : requiert la signature numérique par un éditeur approuvé de tous les scripts et fichiers de configuration, y compris les scripts que vous écrivez sur l'ordinateur local.

-- RemoteSigned : requiert la signature numérique par un éditeur approuvé de tous les scripts et fichiers de configuration téléchargés à partir d'Internet.

-- Unrestricted : charge tous les fichiers de configuration et exécute tous les scripts. Si vous exécutez un script non signé qui a été téléchargé à partir d'Internet, vous êtes invité à en autoriser l'exécution.

Monday, June 17 2013

DEBIAN Eth dhcp/Ip fix

DEBIAN Eth dhcp/Ip fix

Modifier le fichier:

nano /etc/network/interfaces

Config en dhcp

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

Config manuel

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.154
netmask 255.255.255.0
gateway 192.168.1.1

Friday, June 14 2013

DEBIAN MYSQL sav /restor bdd

Sauvegarde:

mysqldump -h localhost -u root -p bdd > /tmp/backup_bdd.sql

Restauration bdd: 1er méthode possible (elle ne fonctionne pas toujours)

mysqldump -h localhost -u root -p bdd < /tmp/backup_bdd.sql

2e méthode en ligne de commande mysql:

mysql -u root -ppassword

Creation / utilisation / inportation

Create database tontonseb;
use tontonseb;
source /tmp/backup_bdd.sql;

pour sortir ctrl + D

show databases pour afficher les bdd

Friday, June 7 2013

SRV Debian changer Hostname / IP

modifier ip

nano /etc/network/interfaces

modifier dns:

nano /etc/resolv.conf

Modifier hostname

nano /etc/hostname
nano /etc/hosts

SRV Debian Web / Mysql

Creaton serveur web debian

install serveur web

apt-get install apache2 apache2-utils php5 php5-dev php5-gd

Install mysql:

apt-get install mysql-server php5-mysql phpmyadmin php5-cli

Tuesday, June 4 2013

CISCO SW Recherche @Mac

xxx: partie de l'adresse mac que l'on veut trouver

en
mac address table | include xxx

CISCO SW Modif Description Port

x: numéro du port description *** vlan 201 ***

en
conf t
int fa0/x
description *** vlan 201 ***

CISCO SW Modif Vlan Port

x: numéro du port Vlan: 201

en
conf t
int fa0/x
switchport access vlan 201
description *** ce port à le vlan 201 ***

CISCO SW Modif Range Port

Port de 5 à 15

en
conf t
int range fa0/05-15
shut

CISCO SW Changer vitesse Port

Modifier vitesse à 10mbits
Port: x
type: duplex full

en
conf t
int f0/x
speed 10
duplex full

CISCO SW Add/remove vlan sur port

x: numéro du port Vlan: 101,102,105

Add vlan
En Telnet sur port console faire:

en
conf t
int F0/x
switchport trunk allowed vlan add 101,102,105

Remove vlan
En Telnet sur port console faire:

en
conf t
int F0/x
switchport trunk allowed vlan remove 101,102,105

CISCO SW Declarer New Vlan

Vlan: 100, 102, 106
En Telnet sur port console faire:

en
conf t
vlan database
vlan 100,102,106
exit
sh database

REG Win Modifier Port bureau à distance

Changer Port RDP 3389 (bureau à distance windows) Démarrez l'Éditeur du Registre.

Recherchez et cliquez sur la sous-clé de Registre suivante :

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber

Dans le menu Edition, cliquez sur Modifier, puis sur Décimale.

Tapez le nouveau numéro de port, puis cliquez sur OK.

Quittez l'Éditeur du Registre.

Redémarrez l'ordinateur.

Thursday, May 30 2013

VBS Afficher la date

Dim user
user = INputBox("Bienvenue,"&chr(10)&"Entre ton nom d'utilisateur:","LOGIN BOX","test")
Msgbox " Bonjour "&user& chr(10)&chr(10) & chr(10) & "La date est :"& chr(10) & Date & chr(10) & "L'heure :"& chr(10)&  Time

VBS Ouvrir page web

' Affectation de la variable et initialisation de l'objet
Set objExplorer = WScript.CreateObject("InternetExplorer.Application")
objExplorer.Navigate "http://www.free.com" 
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Width = 512
objExplorer.Height = 350 
objExplorer.Left = 0
objExplorer.Top = 0
objExplorer.Visible = 1

Set objExplorer = WScript.CreateObject("InternetExplorer.Application")
objExplorer.Navigate "http://www.sfr.fr" 
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Width = 512
objExplorer.Height = 350
objExplorer.Left = 512
objExplorer.Top = 0
objExplorer.Visible = 1

Set objExplorer = WScript.CreateObject("InternetExplorer.Application")
objExplorer.Navigate "http://www.orange.fr" 
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Width = 512
objExplorer.Height = 350 
objExplorer.Left = 0
objExplorer.Top = 350
objExplorer.Visible = 1

Set objExplorer = WScript.CreateObject("InternetExplorer.Application")
objExplorer.Navigate "http://www.google.fr" 
objExplorer.ToolBar = 1
objExplorer.StatusBar = 0
objExplorer.Width = 512
objExplorer.Height = 350 
objExplorer.Left = 512
objExplorer.Top = 350
objExplorer.Visible = 1

VBS Connecter lecteur réseau

' Déclaration des variables
Dim network
' Initiation
set network = createobject ("wscript.Network")
network.MapNetworkdrive "V:","\\serveur\partage1"
msgbox "Le racourcis vers partage1 est monté"

BATCH Connecter lecteur Réseau

login: votre login pwd: votre password

@echo off

NET USE V: \\serveur.domaine\dosser /USER:login pwd /PERSISTENT:YES

exit

VBS Ajouter imprimante Réseau

' Déclaration des variables
Dim network
' Initiation
'Initialisation
network.AddwindowsPrinterConnection "\\srv_impr\imprimante1"
MsgBox "L'imprimante reseau est monté" ,64, "Imprimante réseau"

VBS Lancer BAT ou EXE

'ATTENTION IL FAUT QUE LE VBS SOIT DANS LE MEME LIEU QUE LE .BAT OU SINON INDIQUE LE CHEMIN

set objsh = createobject ("WScript.shell")
objsh.Run "fichier.bat"

VBS Desactiver C$ D$... sous Win

'desactivation des partages administratifs automatiques C$ D$...
'pour 2000 famille Server, 2000 Pro & XP & 7 & 8
'a ameliorer : je n'arrive a detecter si la cle existe deja + proposer la reactivation des partages administratifs (suffit de mettre la valeur dword a 1)

'recuperation de l'os
strcomputer="."
Set objwmiservices= GetObject("winmgmts:" & "{impersonationlevel=impersonate}!\\" & strcomputer & "\root\cimv2")
Set colos=objwmiservices.execquery ("select * from win32_operatingsystem")
For Each objos In colos
os=objos.caption
Next

'verification si l'os est server ou workstation
SearchString =os
SearchChar ="Server"
myval=Instr(1,SearchString,SearchChar,1)

'pour Server :
If myval>0 then
key="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\AutoShareServer"
else
'pour Workstation (2000 Pro & XP & 7 & 8) :
key="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\AutoShareWks"
end If
'creation de la cle
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.RegWrite key,"0","REG_DWORD"

'redemarrer ou pas ?
reboot = MsgBox ("Vous devez redémarrer l'ordinateur pour que les paramètres soient pris en compte.  " & chr(10) & "Voulez vous redémarrer maintenant ?", 4, "Redémarrer ?")
if reboot=6 Then
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Shutdown)}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
    ObjOperatingSystem.Reboot()
Next
End if

Wednesday, May 29 2013

CISCO SW Effacer Config

1er METHODE:
Faut tout supprimer sauf le fichier *.BIN !!!
Dossier: nom du dossier ( pour le supprimer il faut qu'il soit vide)
Fichier: nom du fichier (vous pouvez le remplacer par *)

En Telnet sur port console faire:

en
wr er
dir flash
wr
del fichier1
rm dossier
reload

2e METHODE:
Faut tout supprimer sauf le fichier *.BIN !!!
Appuyer sur le bouton en façade pendant 30s lors du démarrage du switch
Dossier: nom du dossier ( pour le supprimer il faut qu'il soit vide)
Fichier: nom du fichier (vous pouvez le remplacer par *)

En Telnet sur port console faire:

flash_init
load_helper
delete flash:fichier1
delete flash:fichier2
delete flash:dossier
boot
rm dossier

flash_init =>chargement de la flash
load_helper => chargement des commandes de base
boot => pour démarrer
PS: pour supprimer un dossier il faut qu'il soit vide

CISCO SW Hostname / IP

Hostname: SWTEST01
IP: 192.168.1.10
En Telnet sur port console faire:

en
conf t
hostname SWTEST01
interface vlan 1
ip adress 192.168.1.10 255.255.255.0
exit

CISCO SW Shut / No shut Port

x => numéro du port
Pour couper le port:
En Telnet sur port console faire:

en
conf t
int F0/x
shut

Pour activer le port:
En Telnet sur port console faire:

en
conf t
int F0/x
no shut

CISCO SW Remove Vlan Port

x => numéro du port
Vlan 100
Vlan 205
Vlan 488

En Telnet sur port console faire:

en
conf t
int F0/x
switchport trunk allowed vlan remove 100,205,488

CISCO SW Ajout Vlan Port

x => numéro du port
Vlan 100
Vlan 205
Vlan 488

En Telnet sur port console faire:

en
conf t
int F0/x
switchport trunk allowed vlan add 100,205,488

Monday, May 27 2013

BATCH Menu CHOIX Sav favoris Win

BATCH Windows
Menu CHOIX Sav favoris win

@Echo off
color A
:debut
@Echo off
cd %~dp0
REM Script par seb
REM maj 20130530

cls
Echo.
Echo ****************************************************
Echo ***                                              ***
Echo ***             Sauvegarde des Favoris           ***
Echo ***                                              ***
Echo ****************************************************
Echo.

Echo Choix du site
Echo.
Echo 1) sav Favoris du Poste
Echo 2) restor Favoris du Poste
Echo x) Exit
Echo.

SET /P CHOIX=Entrez votre choix:
if '%CHOIX%'=='1' goto slocal
if '%CHOIX%'=='2' goto rlocal
if '%CHOIX%'=='x' goto fin

goto debut

:slocal
Echo.
Echo ****************************************************
Echo ***                                              ***
Echo ***         Lancement copy de sauvegarde         ***
Echo ***                                              ***
Echo ****************************************************
Echo.
rem mkdir \\serveur.domain\dossier_fav\%username%\sav_favoris\fav_%username%
echo Derniere Mise à jour le %date% %time% >\\serveur.domain\dossier_fav\%username%\sav_favoris\fav_sav_%username%.txt

rem pour serven ou win8: c:\Users\%username%\.....
xcopy /S /Y "C:\Documents and Settings\%username%\Favoris" \\serveur.domain\dossier_fav\%username%\sav_favoris\fav_%username%\

echo %username% %date% %time% >> \\serveurlog.domain\log\sav_favoris\sav_favoris_%username%.txt
goto sfini


:rlocal
Echo.
Echo ****************************************************
Echo ***                                              ***
Echo ***        Lancement copy de restauration        ***
Echo ***                                              ***
Echo ****************************************************
Echo.
echo Derniere restauration des favovis le %date% %time% >\\serveur.domain\dossier_fav\%username%\sav_favoris\fav_restor_%username%.txt

rem pour serven ou win8: c:\Users\%username%\.....
xcopy /S /Y \\serveur.domain\dossier_fav\%username%\sav_favoris\fav_%username% "C:\Documents and Settings\%username%\Favoris"
echo %username% %date% %time% >> \\serveurlog.domain\log\sav_favoris\fav_restor_%username%.txt
goto rfini


:sfini
cls
Echo.
Echo ****************************************************
Echo ***                                              ***
Echo ***                Travail Termine               ***
Echo ***                                              ***
Echo ***      Vous trouverez la sauvegarde dans:      ***
Echo ***         serveur.domain\dossier_fav           ***
Echo ***                                              ***
Echo ****************************************************
Echo.
Pause >NUL
goto debut

:rfini
cls
Echo.
Echo ****************************************************
Echo ***                                              ***
Echo ***              Restauration Fini               ***
Echo ***                                              ***
Echo ****************************************************
Echo.
Pause >NUL
goto debut

:fin
exit

Thursday, May 2 2013

CISCO VBS modif config port switch

Voici un exemple de script VBS qui permet de modifier la config d'un switch cisco

Login: Votre login
password: Votre password
Port: F0/25

Set WshShell = WScript.CreateObject("WScript.Shell")
nip=inputbox("Entrez IP du switch"+vbcrlf+" exemple :X.X.X.X")
WshShell.Run ("telnet.exe "&amp;nip)
wscript.sleep 1000
WshShell.sendkeys ("login"+"{Enter}")
WshShell.sendkeys ("password"+"{Enter}")
WshShell.sendkeys ("conf t"+"{Enter}")
WshShell.sendkeys ("int f0/25"+"{Enter}")
WshShell.sendkeys ("shut"+"{Enter}")
WshShell.sendkeys ("no shut"+"{Enter}")
WshShell.sendkeys ("exit"+"{Enter}")
WshShell.sendkeys ("exit"+"{Enter}")
WshShell.sendkeys ("wr"+"{Enter}")
WshShell.sendkeys ("exit"+"{Enter}")