mardi 18 décembre 2012

Powershell - Form





[void][System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") 

$form = new-object Windows.Forms.form   
$form.Size = new-object System.Drawing.Size @(480,400)   
$form.text = "essai graphique 12/04/2007"

$boutton = new-object System.Windows.Forms.Button
$boutton.Text = 'Valider'
$boutton.Location = new-object System.Drawing.Size(300,155)  
$boutton.size = new-object System.Drawing.Size(120,30)
$boutton.add_Click({$nom=$listbox.get_selecteditem();$label2.text = "Reponse : " + $nom})

$label = New-Object System.Windows.Forms.Label
$label.text = "Qui est le meilleur en powershell ?"
$label.set_ForeColor("Green")
$label.Location = new-object System.Drawing.Size(55,30)  

$label.size = new-object System.Drawing.Size(200,20)
$label2 = New-Object System.Windows.Forms.Label
$label2.Location = new-object System.Drawing.Size(310,220)  
$label2.size = new-object System.Drawing.Size(180,20)

$listbox = new-object System.Windows.Forms.ListBox
[void]$listbox.Items.Add("Arnaud")
[void]$listbox.Items.Add("Robin")
[void]$listbox.Items.Add("Un autre")
[void]$listbox.Items.Add("Un autre2")
[void]$listbox.Items.Add("Un autre2")
[void]$listbox.Items.Add("Un autre2")
$listbox.Location = new-object System.Drawing.Size(50,75)  
$listbox.size = new-object System.Drawing.Size(200,200)

$form.Controls.Add($boutton)
$form.Controls.Add($listbox)
$form.Controls.Add($label)
$form.Controls.Add($label2)

$Form.Add_Shown({$form.Activate()})
[void]$form.showdialog()


Powershell - astuces



Voici quelques astuces en vrac pour Powershell :

Ajouter du texte dans un fichier TXT
ADD-content -path C:\temp\test.txt -value "Bonjour"

Lister tout les alias
get-alias

trouver une commande d'un alias
get-alias gal

trouver un alias d'une commande
get-alias -definition format-table

Trouver le DistinguishedName
Avec import-module activedirectory
$dn=(Get-ADUser "e-ricmx012").DistinguishedName

Afficher les partages
Get-WmiObject Win32_Share

Passage d'arguments
echo $args[0]

PopUp
$message = "BonJOUR"
$shell = new-object -com wscript.shell
$shell.popup("$message toi")

Prompt
$UserName = Read-Host "Please enter user name"
Get-Aduser $Username

Demarrer service sur machine distante
Invoke-Command {Start-Service "NSClientpp" -passthru} -ComputerName "srv-windows"

importer le module active directory
import-module activedirectory



#pointer sur l' ad
cd ad:

Version Powershell
$Host.Version
ou
$PSVersionTable
ou
$PSVersionTable.psversion
ou + précis
$PSVersionTable.psversion.Major


powershell - pause



La pause n'existant pas sous powershell, voici un équivalent pour Powershell

$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

Powershell - Garantie Dell



#ajout des informations du fichier "serial.txt"
Import-CSV "./serial.txt" | % {

#URL de la garantie DELL avec le serial du fichier serial.txt
$url = "http://www.dell.com/support/troubleshooting/us/en/04/Servicetag/"+$_.serial

#téléchargement de l'URL
$content = (new-object System.Net.WebClient).DownloadString($url)

#extract de l'information necessaire
$content -match 'with an end date of (?.*).'
$datefin = $matches['coontent']

#affichage des informations
#$datefin
#$_.serial

#ajout des informations dans un fichier txt
ADD-content -path "_serial_et_date_fin_garantie.txt" -value "$_.serial    $datefin"
}


Utilité du script:
Crée un tableau avec le numero de serie d'un machine Dell ainsi que sa date de fin de garantie

Besoin :
--------
1°) Connexion Internet
2°) Le script PowerShell necessite un fichier serial.txt avec inscrit sur la premiere ligne "serial" puis 1 serial Dell par ligne.

Utilisation :
-------------
En lancant le script "fin_garantie_dell.ps1", par un clic droit "executer avec powershell"



Résultat :
----------
On obtient un fichier "_serial_et_date_fin_garantie.txt" dans le même répertoire avec en 1ere colonne le serial, et en 2nd colonne, la date de fin de garantie au format US.

Batch pour lancer Powershell avec droits


Si vous cherchez comme moi la possibilité de lancer un batch (.bat) afin d'executer un script Powershell (.ps1) tout en sachant et en gardant que la configuration powershell de base empêche l'execution des scripts, voici la solution pour l'execution d'un unique script.







::autoriser l execution des scripts

powershell -executionpolicy bypass -noexit -file ".\add_domain.ps1"

pause


Ceci peut se traduire de la manière suivante:
execute PowerShell avec la polique d'execution Bypass( Ok pour cette fois)  noexit(ne pas sortir de la commande) -file (lance le fichier suivant add_domain.ps1

lundi 24 septembre 2012

Office message

Message Office Word :

Si vous obtenez ce message (Participer à l'amélioration des outils de vérification), c'est que vous avez lors du premier lancement de word valider sans regarder cette fenetre: (participez à la protection et à l'améliortaion de Microsoft Office.





Si vous avez changer d'avis :
Pour désactiver l'option :
Lancez Word,. Allez  dans Fichier / option / centre de gestion de la confidentialité /paramètres du centre de gestion de la confidentialité / option de confidentialité / décocher 's'inscrire au programme d'amélioration du produit"



mardi 18 septembre 2012

adobe reader et shockwave : desactiver les mises à jours

Pour Adobe Reader (ici : 9.0, valable également pour la version 10 en remplaçant simplement 9.0)

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Adobe\Acrobat Reader\9.0\FeatureLockdown\bUpdater
créer la clé AutoUpdate avec la valeur créer une REG_DWORD avec pour valeur : 0

Pour Adobe Shockwave.
 HKLM\SOFTWARE\Adobe\Shockwave 11\
créer la clé AutoUpdate avec la valeur  0

Outlook2010 Caractères accentués

Si vous aussi vous rencontrez des problèmes à la lecture d'email, sous  Outlook 2010. Certains caractères accentués qui ne s'affichent pas comme il faut, voici la démarche.
 Dans la section Déplacement, Action, autres actions, codage, Unicode UTF-8

Cela devrait résoudre votre problème.

vendredi 7 septembre 2012

PowerShell - scripts


Voici un petit script pour récupérer le numero de serie d'une machine distante :

Get-WmiObject -Class Win32_BIOS -NameSpace "root\CIMV2" -ComputerName NOM_PC_DISTANT  | format-list SerialNumber

a executer en administrateur du domaine

 Démarrer un service


Start-Service "remoteregistry"

Arreter un service
stop-Service "remoteregistry"


Redémarrer un service
Restart-Service "remoteregistry"
Restart-Service spooler -force
 
Voir l'état d'un service sur un poste distant
Get-WmiObject -computer NOM_PC_DISTANT Win32_Service -Filter "Name='remoteregistry'" | Stop-Service 
 
Démarrer un service sur un poste distant
(Get-WmiObject -computer NOM_PC_DISTANT Win32_Service -Filter "Name='remoteregistry'").InvokeMethod("StopService",$null) 



jeudi 16 août 2012

Zebra TLP2844

Voici tout ce que j'ai pu apprendre de l'imprimante ZEBRA TLP 2844.

Tout d'abord, il s'agit d'un imprimante étiquette d'assez bonne qualité (j'entends qui ne casse pas)

Elle à besoin d'étiquette et de rouleau de transfert.

Quand elle plante, c'est toujours la faute de l'utilisateur.



1°)Bouton On/Off
2°)Connectique electrique
3°)Port USB pour configurer avec le logiciel Zebra Setup Utilities
4°)Bouton Réseau (pour obtenir la configuration réseau de l'imprimante
5°)Port réseau
6°)Voyants Vert: ok, Rouge: HS
7°)Etiquette avec adresse MAC
8°)Port COM

 


1°)Un gros bouton Vert pour passer à l'étiquette suivante, ou passe en rouge en cas d'erreur.
2°)Deux accroches sur les côtés à tirer vers l'avant pour ouvrir le capot








1°)Mettre le rouleau plein en haut, qui se deroulera dans le vide suivant
2°)Droite, bras à pousser vers la gauche pour refermer le capot
3°)Support pour étiquette
4°)Capteur
5°)Guide pour etiquette à géré avec la molette de droite
6°)Rouleau noir d'accroche qui entraine les étiquettes (possible d'être retiré pour nettoyage)

L'imprimante en réseau est accessible via interface web



ex: http://10.16.5.19
le login est : admin
le mdp est :1234

ou via le logiciel ZebraNet Bridge Enterprise (sans Clef d'activation) qui permet de scanner un reseau, et renvoyer vers les pages de config des imprimantes http://10.16.5.19

-Obtenir les informations réseau de l'imprimante:
Appuyer sur le petit bouton à l'arrière à coté du port réseau

-Réinitialiser l'imprimante
Eteindre l'imprimante, appuyer sur le bouton Vert
Rallumer l'imprimante toujours appuyé sur le bouton vert.
attendre que le bouton clignote.

-Il est préférable de laisser l'imprimante à son emplacement reseau.
Elle sont en DHCP mais avec baux reservé sur vlan 5 (10.16.5.19)
qui ne fonctionne pas sur une autre prise réseau.
Si l'imprimante à une ip differente, la brancher en directe sur un PC (qui aura une IP Fixe avoisinante.)

Problèmes:
>L'imprimante imprime une dizaine d'etiquettes sans lancer d'impression:
solution: retirer le rouleau d'encre et vérifier qu'il n'y a pas d'étiquette coincé sur le capteur (dans le capot)

>L'imprimante se calibre sur une étiquette de 3mm, réinitialiser l'imprimante

>L'imprimante imprime une étiquette et se bloque au milieu de la 2nd
Solution: Vérifier que le rouleau d'encre soit bien dans les coches
http://www.youtube.com/watch?v=ckSe6mkLRro&feature=related
http://www.youtube.com/watch?v=3PzcrGj3l-c&feature=related