TP PowerShell – RAM & SWAP

Salut à tous,

J’ai eu quelques questions sur le fonctionnement du swap récemment. Donc une explication rapide.

Kézako le Swap ?

La « mémoire swap », communément appelé « swap », correspond en fait à un espace sur le disque dur utilisé par le système d’exploitation lorsque la mémoire RAM (la vrai) arrive à saturation.

Et comme le disque dur pédale dans la semoule vachement moins rapidement que la mémoire RAM ; quand vous avez trop de données qui partent dans le Swap : ça ralentie tout, car les programmes attendent de récupérer leurs données sur le disque pour continuer à travailler.

Comment on règle le swap pour les $null ?
(sous Windows 7)

Bouton droit sur l’icône de l’ordinateur et propriété, puis paramètres système avancé, Paramètres de performances. Dans l’onglet avancé => mémoire virtuelle-> modifier; décocher gestion automatique et gérer manuellement vos paramètres.

À quoi ça correspond ?

Le swap Windows augmente automatiquement en fonction des besoins. Avec un minimum alloué de 16Mo et qui pourrait monter jusqu’à 3.5Go

Sous Linux, en général, le swap est une partition définie lors de l’installation de l’OS.

Sous Windows, c’est le fichier pagefile.sys (caché) que vous trouvez à la racine du disque … Lire la suite

TP PowerShell – REPADMIN et Réplication des DCs

Bonjour à tous,

C’est un peu la guerre au boulot en ce moment, donc un TP rapide) sur comment synchroniser les différents DCs d’un AD.

REPADMIN C’est quoi ?

Tout d’abord :
REPADMIN est fourni depuis Server 2008 sur Windows, c’est un outil dédié au diagnostic des problèmes de réplications entre les DCs.
Il est installé par défaut avec les rôles AD-DS ou AD-LDS, ou avec les outils d’administration (RSAT).

Direct, je veux vous montrer qu’on peut lui demander plein de truc sympa à cet exécutable :

REPADMIN, le diagnostic

Récupérer les attributs d’un objet :

PS C:\> .\repadmin.exe /showattr DC-PONEY-1.equestria.com'CN=GARGAMEL,OU=Comptes,DC=equestria,DC=com'
DN: CN=GARGAMEL,OU=Comptes,,DC=equestria,DC=comc
 4> objectClass: top; person; organizationalPerson; user
 1> cn: GARGAMEL
 1> sn: PLOP
 1> c: US
 […]

Mais normalement vous saviez déjà faire ça en PowerShell grâce à mes précédents TPs.

L’intérêt de l’outil est avant tout le contrôler l’état de réplication des DCs, Pour avoir un « joli » rapport de l’état de la synchronisation des DCs (d’ailleurs on a une erreur…)

PS C:\> .\repadmin.exe /replsummary *
 Replication Summary Start Time: 2014-10-31 13:09:20
Beginning data collection for replication summary, this may take awhile:
 .........................
Destination DSA largest delta fails/total %% error
 DC-PONEY-1 14m:16s 0 / 51 0
 
Lire la suite

TP PowerShell – Module NetApp DataOnTap

Salut les gens,

Aujourd’hui NetApp : l’éditeur fournit un Module PowerShell propriétaire pour leur administrer leurs bébêtes. Elle se télécharge simplement sur le site du support éditeur pour les clients, les autres passez votre chemin.

Et donc pour commencer importons le module de NetApp, comme pour un n’importe quel module :

PS H :\> Import-Module DataOnTap

Comme tout bon informaticiens, première chose à faire : trouver l’aide (RTFM hein…)

PS H :\> Get-Help DataOnTap
 Data ONTAP PowerShell Toolkit, version 3.2.6.108.

To learn more about the Data ONTAP PowerShell Toolkit, import the DataONTAP module and invoke ‘Show-NaHelp’.

Bref :

PS H :\> Show-NaHelp

Allez on va voir ce qu’il a dans le ventre ce module, La première étape consiste comme avec une base SQL à établir la connexion avec le NetApp, la variable retournée nous indique les informations sur la connexion :

PS H :\> $connect = Connect-NaController "monNetNappA.fq.dn"
PS H :\> $connect | fl *
 Ontapi : 1.17
 Vfiler :
 Mode : Classic
 OntapiMajorVersion : 1
 OntapiMinorVersion : 17
 Version : NetApp Release 1.2.3 4-Mode: Sat Jun 8 08:11:51 PDT 2013
 Protocol : RPC
 Proxy :
 TimeoutMsec : 10000
 RetryCount : 0
 Name : monNetNappA.fq.dn
 Address : 1.2.3.4
 Port : 
Lire la suite

TP PowerShell – Filtrer avec Where-Object (et plus si affinités)

La question du jour, c’est : Quels sont les utilisateurs qui n’exécutent pas le script logon.cmd lors du logon ? et combien sont-ils ? peut-on avoir la liste de ces comptes ?

On avait déjà vu comment chercher et lister des utilisateurs de l’Active Directory dans le TP n°1.
Donc je ne reviens pas sur la cmd-let Get-ADUser, et je vous donne directement la 1ère requête qui retourne tous les utilisateurs dans une OU et de ses sous-OU en intégrant la colonne scriptPath (qui contient le chemin du logonScript) aux objets dans le résultat.

PS C:\> Get-ADUser -Filter * -Properties @('scriptPath') -SearchBase 'OU=Utilisateurs,DC=ponyland,DC=org' -SearchScope Subtree

C’est donc à ce moment les experts d’Excel nous demanderons de leurs sortir le résultat dans un CSV pour qu’ils y mettent un filtre sur la colonne scriptPath et avoir le résultat…
=> Super efficace…

Ou alors, on peut se la jouer « beau-gosse » et filtrer directement le résultat dans PowerShell, explication : On va utiliser le pipe « | » (comme en linux) pour rediriger la sortie de la cmd-let Get-ADUser dans l’entrée de notre cmd-let Where-Object.
Cette cmd-let nous permet de faire en un appel l’équivalent de l’algorithme suivant (simplifié) :

Pour Chaque Objet en entrée :
 
Lire la suite