jeudi 13 juin 2013

Google Reader : Comment sauvegarder vos tags avant le 1er Juillet !!!!

Reflections_by_ardcor

Google qui d’habitude “est ton amis…” a décidé de fermer son service de Flux RSS Google Reader le 1er Juillet ! Comme vous tous, cela m’ennuie énormément car je l’utilisais massivement pour faire ma veille technologique (350 Flux et 120 tags). En sauvegardant mes datas via leur service Google TakeOut, je découvre avec horreur que  les tags ; qui m’ont permis de classer/archiver des milliers de trouvailles durant les 5 dernières années ne sont  pas récupérés…Qu’a cela ne tienne, je vous propose de remédier à ce problème grâce à l’aide d’un petit script en PowerShell…  suivez le guide :

1 – Rendez vos tags publique

La première étape consiste à vous connecter à Google Reader puis dans les settings, sur l’onglet “Folders and Tags”, de rendre tous vos tags publique. Ils seront alors accessibles sans authentification, mais également disponible sous forme de flux Rss complets que nous pourrons télécharger.

Cliquez donc sur l’icône Flux RSS de tout vos tags pour les rendre publique:image

2 – Récupérez la liste des tags

Là, on ne va pas faire dans la dentelle : Avec votre sourie, vous allez sélectionner tous les tags de votre page, image

puis faites un CTRL+C pour les copier. Ouvrez ensuite notepad++ et collez-y le contenu copié en tapant CTRL+V. Vous avez normalement obtenu un fichier assez confus qu’il va falloir nettoyer !

image

C’est heureusement assez simple grâce à l’outil de remplacement de notepade++ (CTRL+H) qui vous permet de remplacer rapidement  toutes les occurrences d’une chaine de caractères par du vide !

En 3 coups de CTRL+H et de quelques éditions manuelles, j’ai obtenu un fichier ne contenant plus que mes tags et qui ressemble à cela :

image

Une fois que vous aurez le votre, sauvez le sous le nom MyGoogleTags.txt dans le répertoire C:\Temps que vous aurez crée au préalable.

3 – Récupérez votre ID utilisateur

Il s’agit d’une suite de 20 chiffres que vous pouvez retrouver en cliquant sur le lien “View public page “ de l’un de vos tag. La page qui s’ouvre contiens l’ID dans son URL :

image

Attention les “%2F” en début et fin de chaine ne font pas partie de l’ID !

4 – Configurez et lancez le script

Copiez le script suivant et sauvez le sous le nom C:\temps\TagDownloader.ps1 (vous pouvez également le télécharger en fin d’article)

##--------------------------##
##--Reader Tags Downloader--##
##--Diagg/Zany & OpenEyes --##
##--------------------------##
Function Downloadxml($Tag)
    {
        $Tag = $Tag.trim()
        Write-Host "TAG : $Tag"
        $Url = "$Url$Tag" + '?n=2000'
        Write-Host "URL : $Url"
        $Destination  = "$Destination\$Tag.xml"
        Write-Host "Destination : $Destination"
        $webclient.DownloadFile($url,$Destination)
    }


cls
$webclient = New-Object system.net.webclient
$UserID = "000000000000000000000"
$Url = "
http://www.google.com/reader/public/atom/user/$UserID/label/"
$DefaultFolder = "C:\Temps"
$Destination = "$DefaultFolder\Feeds"
$ListTags = "$DefaultFolder\MyGoogleTags.txt"
New-Item $Destination -ItemType Directory
Get-Content $ListTags|ForEach {Downloadxml($_)}

##-----------------##
##--Starred Items--##
##-----------------##
$Url = "
http://www.google.com/reader/public/atom/user/$UserID/state/com.google/"
Downloadxml('starred')
##----------------##
##--Shared Items--##
##----------------##
Downloadxml('broadcast')

Modifiez la ligne 18 en remplacent les 0 de $UserID par votre Google ID. Sauvegardez, c’est prêt !!!

5 – Récupérations de  vos tags sous forme de flux RSS

Ouvrez une invite de commande Powershell et placez vous dans le répertoire C:\Temps via la commande Set-location C:\Temps

Exécutez le script TagDownloader.ps1 

image

Et là miracle !!!!… dans le répertoire C:\Temps\Feeds, vos tags arrivent au fur et à mesure sous forme de flux RSS.

image

Il ne vous reste plus qu’à les importer dans un lecteur de Flux (J’ai choisi FeedDemon) pour les lire :

image

Merci Qui ???

jeudi 6 juin 2013

MDT 2012 : Installez en fonction d’une liste de modèles

A_Seventh_20_by_edta

Afin d’éviter des problèmes de support tout azimute, un client international m’a demandé si il était possible que Windows 8 ne s’installe que selon une liste bien définie de machines. J’ai donc modifié le fonctionnement d’MDT en lui ajoutant deux nouvelles variables qui, je l’espère pourront vous aussi vous servir.

Les variables sont :

WhiteList : liste les machines sur lesquelles MDT est autorisé à déployer un OS (Rien sauf les machines de la liste)

BlackList : liste des machines sur lesquelles MDT est explicitement interdit de déployer (Tout sauf les machines de la liste)

Il faut maintenant identifier clairement le nom des machines à ajouter aux listes, et pour cela, la requête WMI suivante va vous aider à les identifier :

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_ComputerSystemProduct",,48)
For Each objItem in colItems
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "Win32_ComputerSystemProduct instance"
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "Name: " & objItem.Name
    Wscript.Echo "UUID: " & objItem.UUID
    Wscript.Echo "Version: " & objItem.Version
Next

Copiez ce script dans un fichier texte et changez l’extension en .vbs, puis ouvrez une invite de commande et exécutez le. Celui-ci affichera 3 informations d’indentification parmi lesquels vous pourrez choisir celle qui vous convient le mieux  :

image

Généralement, la valeur “Name” donne une information pertinente sur la plus part des machines du marché sauf pour Lenovo pour qui il faut préférer la valeur “Version”. Enfin la valeur UUID vous permet d’identifier une machine unique. 

Implémentation

Téléchargez et installez les scripts dans le répertoire Scripts de votre deployment share.

Editez ensuite le fichier bootstrap.ini afin d’y inclure nos fameuses variables (Attention : Utilisez l’une ou l’autre des variables, mais pas les deux en même temps !) :

Dans la section [settings] ajoutez à Properties les variables WhiteList et  BlackList comme suit :

[Settings]
Properties=WhiteList,BlackList

puis dans la section [default] ajoutez par exemple les modèles sur lesquels vous souhaitez exclusivement déployer votre master :

Whitelist=ThinkPad W520,ThinkPad W530,ThinkPad Tablet 2,HP ElitePad 900

Enfin, mettez à jour votre Deployment Share ( bouton droit sur votre Deployment Share puis Update Deployment Share)

Puis lorsque MDT cherchera à installer Windows sur une machine qui ne fait pas partie de votre WhiteList, il s’arrêtera et bloquera le déploiement de la façon suivante :

image

Les scripts à télécharger (attention ils écrasent des scripts existant !) :

samedi 1 juin 2013

MDT 2012 : Musclez la politique de sécurité du mot de passe Admin.

tranc3d

La saisie du mot de passe administrateur local dans le wizard d’MDT n’est soumisse à aucune restriction. Que diriez-vous de pouvoir imposer des contraintes de longueur minimum, de caractères spéciaux ou de caractères numériques ?

C’est la demande que m’a soumise un client et pour lequel j’ai concocté ce petit bout de script (téléchargeable en fin de billet).

Implémentation

Copiez les scripts de l’archive dans le répertoire scripts de votre deployment share (Attention ces fichiers écrasent des scripts existant !!),  puis éditez les Rules du customsettings.ini de la façon suivante :

Dans la section [settings] ajoutez à Properties les variables PswMinLen, PswMinNumChar, PswMinUppCase, PswMinlowCase comme suit :

[Settings]
Properties=PswMinLen, PswMinNumChar, PswMinSpeChar, PswMinUppCase, PswMinlowCase

Ces nouvelles variables vont vous permettre de régler la complexité des mots de passe :

PswMinLen défini la longueur minimum que doit avoir le mot de passe.

PswMinNumChar défini le nombre minimum de caractères numériques.

PswMinSpeChar défini le nombre minimum de caractères spéciaux.

PswMinUppCase défini le nombre minimum de caractères majuscule.

PswMinlowCase défini le nombre minimum de caractères minuscule.

ainsi, si vous souhaitez que le mot de passe admin. local fasse au moins 8 caractères, dispose de majuscules, de minuscules, d’un caractère spéciale et d’un caractère numérique ; ajoutez vos variables au custommsetting.ini avec les valeur suivantes :

PswMinLen=8
PswMinNumChar=1
PswMinSpeChar=1
PswMinUppCase=1
PswMinlowCase=1

En relançant un déploiement, (et à condition que vous n’ayez pas défini la variable SkipAdminPassword à YES)  vous constaterez que le Wizard du mot de passe a changé : il vous indique dynamiquement les règles auxquelles vous devez vous conformer pour que votre mot de passe soit valide.

image

Un Grand merci à Loic/Experteam pour son code inspirant !!