News Décembre 2020

Salut,

Voici un petit moment que je n’ai malheureusement plus rien publié. Ce n’ai pas que je n’ai rien écris, bien au contraire, mais je n’ai pas pris le temps de faire les relecture nécessaire avant publication.

Petite news pour vous tenir informer, je vais refaire une légère refonte du site et prendre le temps de publier un peu plus.

Les articles serons peut être un peux plus court.. on verra bien.

Je tenais aussi à remercié tous ceux qui sont venus sur ce site et qui ont laissés un commentaires. Vous êtes chaque année de plus en plus nombreux. L’année dernière j’avais eu plus de 22000 visiteurs unique, score déjà largement dépassé cette année.

Vider le swap (GNU/Linux)

Lorsque nous utilisons des applications, il peut arriver que celles-ci soient énormément gourmandes en ressources.

Il existe le Swap pour parer ce genre de problème.

Le swap, aussi appelé espace d’échange, permet de simuler une mémoire vive à partir d’une mémoire de masse (disque dur). Celui-ci sert alors à décharger des données de la mémoire vive dans l’espace d’échange.

Malheureusement, il peut arriver que suite à l’utilisation du swap, que celui-ci ne se vide pas correctement, malgré la disponibilité de RAM. Il faut alors décharger manuellement le swap.

Dans un premier temps, vérifions l’utilisation de la RAM et du Swap

free -h

Il est aussi possible d’utiliser d’autres outils comme htop ou top en fonction de vos habitudes 🙂

Maintenant nous allons vider le swap. Pour ce faire, rien de plus simple sous Gnu/linux. Il suffit de taper la commande suivante :

swapoff -a && swapon -a

Attention, afin de décharger le swap, il faut s’assurer qu’il y est suffisamment d’espace RAM, sinon un message d’erreur apparaîtra.

Export AD avec attributs étendus

Suite à mon article Powershell, « Suppression automatique de Machine dans un AD » , je vous propose encore un nouveau petit script.

L’export AD avec attributs étendus !

Quand je parle d’attribut étendus, il s’agit d’informations supplémentaires que nous n’avons par conséquent pas avec un simple export (LastLoginDate, DistinguishedName, etc.).

##########################################################
# Author      : Christian Sueur (Contact@christiansueur.com)
# # Update Date : 20191122 By Christian.sueur
# # Comment     : Create a CSV from AD Computer list
# #               Format-table : operating system, last connection, etc.
# #
# ##########################################################


#Import du module AD
Import-Module ActiveDirectory

#Variable Definition
$dom = "myDom.com"
$MyOU = "OU=computers,OU=FR,DC=myDom,DC=com"

Get-ADComputer -Server $dom -SearchBase $MyOU -Properties * -filter * | Export-Csv C:\temp\test\export.csv -NoTypeInformation -Encoding UTF8

Suppression automatique de Machine dans un AD

Depuis quelques temps, je me suis remis à l’écriture de script en Powershell afin d’automatiser les actions dans un AD.

Voici donc un script permettant la suppression automatique de machines dans l’AD depuis une liste présentent dans un fichier texte.

##########################################################
# Author      : Christian Sueur (Contact@christiansueur.com)
# # Update Date : 20191122 By Christian.sueur
# # Comment     : Delete all computer from your "c:\temp\import.txt" file
# ##########################################################


#Import du module AD
Import-Module ActiveDirectory

# Importation des ordinateur depuis le fichier CSV spécifié
$computer = Get-Content C:\temp\import.txt
# Suppression de l'ordinateur 
foreach($ADComputer in $computer) 
{ 
    $Comp = $ADComputer
    echo $Comp #pour tests et informations ;)
    try{
        Get-ADComputer $Comp | Remove-ADComputer -Confirm:$false
    }
    catch {
        echo $Comp >> C:\temp\non_present.txt
    }
}

Comment ça marche ?

Le script va aller lire ligne par ligne les noms de machine présentes dans le fichier C:\temp\import.txt, puis va ajouter les valeurs dans une variable.

Exemple de fichier import.txt

Nom_de_machine1
Nom_de_machine2
Nom_de_machine3

Nous allons ensuite simplement prendre les valeurs une à une de la variable et tester si la machine est présente dans l’AD avec un Get-ADComputer.

Si la machine est présente on applique un Remove-ADComputer afin de la supprimer sinon on ajoute l’information dans un fichier texte afin d’avoir une visibilité sur les machines non présentes (log).

News : Le retour

Salut à tous !

Cela fait un petit moment maintenant que je n’avais pas écris d’articles (presque 1 an).

On ne va pas ce le cacher, cette année à été particulièrement intense. Je ne pense d’ailleurs pas que cela va changer…

Néanmoins, je vais, à partir de maintenant, reprendre l’écriture d’articles afin de me forcer une veille technologique, qui malheureusement, était un peu passer à la trappe depuis presque un an ..

A très vite 🙂

[MAJ]: Script auto install TeamViewer

I y a quelques temps, j’avais mis à disposition un Script d’installation automatique de Teamviewer sous linux que j’avais écris rapidement et pour lequel j’effectue régulièrement maj.

Petit article rapide pour vous informer que je viens à nouveau de le mettre à jour. J’ai remarqué une erreur en fin de script. Un « fi » c’était glisser en trop en fin de code.

Pour le récupérer : https://gitlab.com/christiansueur/Linux_AutoInstall_Teamviewer/blob/master/AutoInstallTM.sh

Bonne Année 2019 !!

Je vous souhaite une très bonne année 2019 !
Comme toujours, je me fixe des résolutions mais pour une fois un peu plus folle que d’habitude.
En effet, j’y pense depuis un moment, mais je vais enfin me lancer dans les tutos vidéo.
L’intérêt étant que les tutos vidéo sont souvent plus simple à comprendre qu’un article long à lire. En effet, j’ai bien vu depuis quelques années, avec l’arrivé des vidéos YouTube, que de plus en plus de mes collègues et amis font des recherches directement sur les plateformes de vidéo, plutôt que directement sur les outils de recherches habituels (DuckDuckGo, Google, …).


Not able to execute a .sh file: /bin/bash^M: bad interpreter

Il y a quelques mois (déjà …), alors que je modifiais des scripts Linux d’installation automatique de logiciels, je me suis retrouvé avec le message suivant dans ma console.

Not able to execute a .sh file: /bin/bash^M: bad interpreter

Sur le moment je n’ai pas trop compris d’où venait le problème. Et puis je me suis rendu compte que j’avais effectué des modifications du script depuis une machine Windows et j’avais commit la nouvelle version vers mon Git.

D’où viens le problème ?

En fait, le fichier a été transféré entre des systèmes de types différents avec des conventions de nouvelle ligne différentes.
Les éditeurs de texte Windows auront un caractère de retour chariot spécial (CR + LF) à la fin des lignes pour indiquer un retour de ligne ou une nouvelle ligne, qui sera affiché de manière incorrecte sous Linux (^ M).
Souvent, c’est parce que le fichier est créé ou peut-être même édité sur un ordinateur Microsoft Windows, puis téléchargé ou transféré sur un serveur Linux. Cela se produit généralement lorsqu’un fichier est transféré à partir de MS-DOS (ou MS-Windows) sans mode ASCII ou texte.
Cela peut être difficile à détecter. En effet, certaines applications ou programmes gèrent correctement les caractères de nouvelle ligne alors que d’autres non.
Ainsi, certains services peuvent tomber en panne ou ne pas répondre correctement.

Comment résoudre le problème ?

Il existe plusieurs solutions possible 🙂

  • Le logiciel/paquet dos2unix
dos2unix monfichierAmodifier
  • sed
sed -e "s/\^M//"  monfichierAmodifier  > monfichierModifier 
  • Vim (ma solution préféré mais pas aussi rapide que dos2unix)

Après avoir ouvert le fichier avec Vim taper

:%s/^M//g

Et voilà, vous ne devriez plus avoir de soucis 🙂