Posts in Scripting

Redémarrer un Service en PowerShell

Je vous propose dans ce tuto de redémarrer un service Windows local et distant en Powershell.

ps get service Redémarrer un Service en PowerShell

lire la suite…

Comment éviter les problèmes d’accents avec Robocopy?

Scripting, Windows

18 December 2011

Tags: Robocopy, Scripting, Shell

Lorsque le chemin vers un répertoire source ou destination de votre script robocopy contient un accent, il est possible, selon la configuration de votre système Windows, que vous obteniez une erreur. En effet DOS n’arrivera pas à interpréter cet accent et ne va donc pas trouver le chemin du répertoire spécifié …

lire la suite…

Exporter la liste des pilotes d’impression d’un serveur Windows

Je vous propose dans ce tutoriel d’exporter dans un fichier texte la liste de tous les pilotes d’impressions installés sur un serveur Windows.

lire la suite…

Retrouver la date du dernier logon

En tant qu’admin, mes clients me demandent souvent de retrouver la date de la dernière connexion d’un ou plusieurs utilisateurs. Étant de nature un peu feignante (rien de plus normal me dire-vous) j’ai développé un petit HTA pour que mes clients se débrouillent comme des grands …

lire la suite…

La taille d’un dossier en PoSh

Dans le bon temps, nous avions accès à la propriété “Size” d’un objet ‘Dossier’ avec le FileSystemObject (le ‘FSO’) . Dans PowerShell (que j’aime bien quand même) la propriété n’est plus aussi simplement accessible. Je me suis fait une petite fonction toute simple pour la retrouver …

lire la suite…

Envoyer un mail en Powershell

Ce script Powershell permet d’envoyer un mail très simplement via un serveur SMTP.

Prérequis

Comment installer et exécuter PowerShell sur un système Windows

Exécuter un script en PowerShell

Code

$SmtpClient = new-object  system.net.mail.smtpClient
$SmtpServer = "localhost"
$SmtpClient.host =
$SmtpServer 

$From = "Lecteur de SysKB <lecteur@exemple.fr>"
$To = webmaster@syskb.com
$Title = "Script Powershell"
$Body = "Le mail a été envoyé"
$SmtpClient.Send($from,$to,$title,$Body) 

Lister les caractéristiques d’un domaine en Powershell

Ce script Powershell permet d’afficher les caractéristiques de votre domaine Active Directory.

Prérequis

Comment installer et exécuter PowerShell sur un système Windows

Exécuter un script en PowerShell

Auteur

Microsoft Scripting Guys

Référence

http://www.microsoft.com/technet/scriptcenter/scripts/msh/default.mspx?mfr=true

Code

$strComputer = "."

$colItems = get-wmiobject -class "Win32_NTDomain" -namespace "root\CIMV2" `
-computername $strComputer

foreach ($objItem in $colItems) {
      write-host "Caption: " $objItem.Caption
      write-host "Client Site Name: " $objItem.ClientSiteName
      write-host "Creation Class Name: " $objItem.CreationClassName
      write-host "DC Site Name: " $objItem.DcSiteName
      write-host "Description: " $objItem.Description
      write-host "DNS Forest Name: " $objItem.DnsForestName
      write-host "Domain Controller Address: " $objItem.DomainControllerAddress
      write-host "Domain Controller Address Type: " $objItem.DomainControllerAddressType
      write-host "Domain Controller Name: " $objItem.DomainControllerName
      write-host "Domain GUID: " $objItem.DomainGuid
      write-host "Domain Name: " $objItem.DomainName
      write-host "DS Directory Service Flag: " $objItem.DSDirectoryServiceFlag
      write-host "DS DNS Controller Flag: " $objItem.DSDnsControllerFlag
      write-host "DS DNS Domain Flag: " $objItem.DSDnsDomainFlag
      write-host "DS DNS Forest Flag: " $objItem.DSDnsForestFlag
      write-host "DS Global Catalog Flag: " $objItem.DSGlobalCatalogFlag
      write-host "DS Kerberos Distribution Center Flag: " $objItem.DSKerberosDistributionCenterFlag
      write-host "DS Primary Domain Controller Flag: " $objItem.DSPrimaryDomainControllerFlag
      write-host "DS Time Service Flag: " $objItem.DSTimeServiceFlag
      write-host "DS Writable Flag: " $objItem.DSWritableFlag
      write-host "Installation Date: " $objItem.InstallDate
      write-host "Name: " $objItem.Name
      write-host "Name Format: " $objItem.NameFormat
      write-host "Primary Owner Contact: " $objItem.PrimaryOwnerContact
      write-host "Primary Owner Name: " $objItem.PrimaryOwnerName
      write-host "Roles: " $objItem.Roles
      write-host "Status: " $objItem.Status
      write-host
}

Localiser son script où qu’il soit

Scripting

22 March 2010

Dans mes scripts VBS, j’ai l’habitude d’initialiser une variable pour localiser mon script. Comme ça, si je dois le déplacer, je ne me préoccupe pas des divers chemins pour localiser mon fichier de log ou de source qui y est associé (à condition de les déplacer avec …). Pour info, la commande est la suivante :

strMyPath = Left(Wscript.ScriptFullName,InStrRev(Wscript.ScriptFullName, "\"))

Dans mes scripts PoSH, je cherchais une solution similaire mais “Wscript.ScriptFullName” n’existe pas et n’a (semble t-il) pas d’équivalent. La ruse consiste donc à utiliser la propriété “CurrentDirectory” de l’objet “Shell” …

$MyPath = ($WShell = New-Object -ComObject Wscript.Shell).CurrentDirectory

Et, pour un peu, c’est presque plus simple !

Retrouver le numéro de série d’un ordinateur distant avec Powershell

Scripting

11 March 2010

Tags: powershell

Vous êtes plongé dans la MAJ de votre inventaire et il vous manque le numéro de série d’un serveur Windows situé loin , très loin. Voici une petite ligne de commande en Powershell permettant de récupérer en WMI un numéro de série.

lire la suite…

Mon premier script PoSh avec “PrimalForms”

Scripting

8 March 2010

Après ma découverte de PrimalForms, j’ai eu envie d’en savoir un peu plus et donc de tester un peu le produit. J’en ai profité pour faire un tutoriel pour montrer un peu les possibilités de ce logiciel.

lire la suite…

Un éditeur de Forms pour PowerShell

Scripting

7 March 2010

En me promenant sur la toile, j’ai découverts via nos confrères “powershell-scripting.com” qu’il existe un éditeur de Forms à la sauce “Visual Basic” édité par SAPIEN Technologies.

Pas mal fait, gratuit, il génère le code nécessaire pour obtenir un résultat plutôt bluffant.

lire la suite…

Réinitialiser tous mes passwd dans mes forêts AD

Active Directory, Scripting

5 March 2010

Je suis un spécialiste AD pour un ‘grand compte’ et j’ai 10 comptes différents pour me connecter  (3 forêts composées chacune de 3 domaines + un compte standard = 10 comptes) !

La gestion de mes mots de passe devenant un “chouillat” compliquée (toujours à cause de ma mémoire de poisson rouge) je me suis fait un petit script VBS qui me change mon mot de passe en un coup sur tous les domaines des fôrets AD.

lire la suite…

Créer une tâche “AT” (les doigts dans le nez)

On le sait, créer une tâche AT n’est pas toujours simple et les réfractaires à la ligne de commande en savent quelque chose. Je n’en paramètre pas tout les jours et pour moi (j’ai une mémoire de poisson rouge) c’est la syntaxe que j’oublie, surtout l’abréviation les jours de la semaine en anglais …

lire la suite…

Comment actualiser une GPO à distance

Lorsque l’on souhaite actualiser la stratégie de groupe appliquée à une machine il suffit d’exécuter la commande gpupdate /force depuis une invite de commande de la machine. La tâche n’est malheureusement pas aussi simple lorsqu’il s’agit d’actualiser les stratégies de groupe sur une ou plusieurs machines distantes.

lire la suite…

Changer le mot de passe du compte administrateur local

Scripting, Sécurité

24 January 2010

Tags: Hacking, Tutoriel

Ce script permet de réinitialiser le mot de passe du compte administrateur local d’un ordinateur. Il suffit alors de le déployer à l’aide d’une GPO ou par un logonscript pour réinitialiser massivement les mots de passe de l’ensemble des comptes administrateurs locaux d’un domaine.
lire la suite…

Ajouter un groupe de domaine dans le groupe administrateur local

Lorsqu’un ordinateur est intégré dans un domaine Active Directory, le groupe Domain Admins devient automatiquement membre du groupe Administrateurs local de l’ordinateur. Ainsi les administrateurs du domaine ont un accès complet à tous ces membres.

lire la suite…

Powershell pour les nuls

Powershell est un langage de script orienté objet développé par Microsoft. Il s’appuie sur le framework Microsoft .NET et est désormais directement intégré aux nouveaux systèmes d’exploitation Windows 7 et Windows Server 2008. Powershell est compatible avec toutes les versions de Windows supportant .NET 2.0.

Cet article est en quelque sorte une table de matières rassemblant tous les tutos de SysKB consacrés au sujet. Il doit permettre aux néophytes de rapidement pouvoir utiliser Powershell et aux plus expérimentés de découvrir ou redécouvrir des scripts essentiels dans l’accomplissement de leur travail quotidien.

lire la suite…

Créer une tâche planifiée sur un serveur distant

J’ai eu besoin récemment de créer 1 tâche planifiée sur 100 serveurs Windows. J’avais alors 2 solutions : Me connecter sur chaque serveur en terminal serveur et répéter 100 fois la même opération ou trouver une solution pour créer à distance la tâche planifiée sur les 100 serveurs à la fois. Une petite recherche et la solution était toute trouvée …

lire la suite…

Une macro pour supprimer / localiser les doublons dans un classeur Excel

Scripting

1 December 2009

Tags: excel, Macro, Remove Duplicate, VBA

Je vous propose une petite macro pour supprimer les doublons dans un classeur Excel. Une petite variante de cette macro permettra au contraire de ne conserver QUE les doublons.

lire la suite…

Exécuter un programme sur un système distant

Lorsqu’il s’agit d’exécuter un programme ou un script sur un serveur distant on peut toujours le faire en se connectant dessus en Terminal Server, Dameware Remote Control, PC Anywhere ou autre outil de prise de main à distance. Cette solution convient parfaitement pour des actions ponctuelle mais s’avère beaucoup plus contraignante lorsque l’on doit exécuter le même programme sur plusieurs serveurs ! Heureusement il existe PsExec …

lire la suite…

Compter le nombre de lignes d’un fichier en VBScript

Scripting

14 September 2009

Tags: Création de script, Scripting, VBScript

Ce script vous permettra de compter très simplement le nombre de lignes contenu dans un fichier.
lire la suite…

Copier et dater à la volée un fichier en VBscript

Je vous propose un script en VBS permettant de copier un fichier et de le renommer à la volée en lui ajoutant la date et l’heure de l’éxécution du script. Très pratique pour archiver automatiquement des fichiers. Le répertoire destination bien entendu peut être différent.

lire la suite…

Scripter l’arrêt ou le démarrage d’une machine virtuelle sur VMware Server

Je vous propose de voir  comment arrêter ou démarrer une ou plusieurs machines virtuelles en ligne de commande depuis un serveur VMware Server. C’est très simple mais surtout très pratique puisqu’il suffit de créer 2 fichiers .BAT afin de lancer en 1 seul clic l’arrêt ou le démarrage des VMs !

lire la suite…

Supprimer des comptes ordinateurs obsolètes avec OldCmp

Il est temps de faire un peu de ménage dans votre Active Directory. Depuis de nombreuses années les comptes utilisateurs et ordinateurs s’accumulent au gré des arrivées et des départs des salariés de votre entreprise et avouez que supprimer des comptes obsolètes s’avère être un vrai casse tête.

lire la suite…

Contrôler le démarrage d’une machine virtuelle Virtual Server 2005 en VBScript

Je vous propose, à travers quelques exemples, de contrôler simplement le démarrage d’une machine virtuelle sur Virtual Server 2005 grâce à quelques scripts en VBS.

Ces scripts vont seront très utiles pour industrialiser des processus de sauvegardes de vos machines virtuelles. lire la suite…