Articles

PowerShell - Mes fonctions préférées

Image
Dans cette article, je vous propose de partager avec vous, des fonctions que j'utilise quotidiennement dans mes scripts PowerShell. Définir le racine du script dans toutes circonstances Ce n'est pas vraiment une réelle fonctions car si on l'écrivait comme telle, il n'apporterait rien de plus que si l'on mettait au début de votre script. #=============== Variable for use Root folder of PS1 ==================== If ($psISE) { $currentScriptDirectory = Split-Path -Parent -Path $psISE.CurrentFile.FullPath } If (!$currentScriptDirectory) { If ($MyInvocation.MyCommand.CommandType -eq "ExternalScript") { $currentScriptDirectory = Split-Path -Parent -Path $MyInvocation.MyCommand.Definition } Else { $currentScriptDirectory = Split-Path -Parent -Path ([Environment]::GetCommandLineArgs()[0]) } } #======================================================================== Maintenant, dans votre script quand vous utiliser...

PowerShell - Remplacer les paramètres linguistiques

Image
Dans cette article, nous allons voir comment rajouter l’intégration de MUI et le changement de "Uilanguage" via un fichier ".xml", car l'intégration dans un fichier "Unattend.xml" possède des limites. Ceci est pour moi, la meilleure option dans les environnements multilingues. Malheureusement, dans cette article, je ne serais pas en capacité de parler de la partie format, qui est pour ma part plus complexe à appréhendé. Voici un exemple que l'on peut trouver sur le site de Microsoft: <gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"> <!-- user list --> <gs:UserList> <gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true"/> </gs:UserList> <!-- GeoID --> <gs:LocationPreferences> <gs:GeoID Value="244"/> </gs:LocationPreferences> ...

PowerShell - Module pour rajouter le service WDS

Image
Windows Deployment Services ou WDS est une technologie de Microsoft qui va vous permettre  d'installer un système d'exploitation Windows via le réseau (PXE). Ils permettent d'installer à distance Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, Windows Server 2008, Windows Server 2012 et Windows Server 2016 mais il est également possible de déployer d'autres systèmes d'exploitation Windows, en effet, le processus d'installation se fait à l'aide d'une image de type Windows Imaging Format (WIM) contrairement à RIS qui avait pour procédé l'automatisation de la phase d'installation du système d'exploitation. Il est ainsi possible d'installer des systèmes d'exploitation avec des applications préinstallées. WDS est un rôle optionnel qui est inclus dans toutes les éditions serveur de Windows depuis Windows Server 2008. Pour utiliser ce script PowerShell, il faudra rajouter dans le paramètre le chemin du dossier à créer. De...

Powershell - Utiliser les requêtes WMI

Image
Powershell - Utiliser les requêtes WMI Voici comment on peut interroger à distance une information contenu dans les Windows Management Instrumentation (WMI) d'un poste. $remoteuserlist = Get-WmiObject -query "SELECT * FROM Win32_UserAccount WHERE LocalAccount = 'True' and Name != 'Guest'" –computername $PC -verbose Depuis la version 3 de PowerShell, il a été créé les commandes CIM, pour améliorer les temps de réponses et utilisation à distance des commandes WMI. #requires -Version 3 Get-CimInstance -query 'SELECT * FROM Win32_logicaldisk where DriveType="3" and DriveType="2"' Voici par exemple, une petite comparaison sur des requêtes simples : Comparatif entre WMI et CIM Commande WMI Temps Commande CIM Temps Get-WmiObject Win32_ComputerSystem 20,6793 ms Get-ciminstance Win32_ComputerSystem 16,0279 ms Get-WmiObject Win32_ComputerSystem -Property * | Select-Object * | Format-List * 23,8...

MRemoteNG - Voir les mots de passe dans l'application

Image
MRemoteNG est une application Client RDP qui propose plusieurs onglets pour réduire l’encombrement des fenêtres. Il est un logiciel libre, Open Source et sous licence GPL. Le but est d’avoir un lieu central pour stocker toutes vos connexions et d’y accéder dans une même fenêtre. Il me permet au quotidien de me faciliter mon organisation et maintenir mes connexions. Il supporte l’importation de connexions à partir d’Active Directory. Il fournit la fonctionnalité « Quick Connect » qui permet d’ouvrir rapidement une connexion sans créer une entrée. J’utilise tous les jours dans mon boulot (admin système). Cette version supporte les protocoles suivants : RDP (Remote Desktop/Terminal Server) VNC (Virtual Network Computing) ICA (Citrix Independent Computing Architecture) SSH (Secure Shell) Telnet (TELecommunication NETwork) HTTP/HTTPS (Hypertext Transfer Protocol) rlogin Raw Socket Connections Pour moi, c’est un indispensable . Voir les mots de passe mRemoteNG Vous avez u...

PowerShell - Mes aide-mémoires

Image
Cette article sera mis à jour régulièrement donc penser à y repasser régulièrement Script PowerShell pour nettoyer le cache SCCM et 1E Nomad Quand on a des clients SCCM et 1E Nomad sur nos postes professionnelles et que l'on a besoin de place, le site Garytown a partagé ici , des scripts PowerShell bien utile. Fonction - Installer.NET Framework 3.5 Il peut nous arriver d'avoir besoin d'installer le .NET Framework 3.5, on peut rajouter ce module qui va bien nous aider, il permet d'utiliser les sources externes ou local. J'ai trouver ce script bien conçu: ici. N'oubliez pas de remercier son auteur. Relancer son script avec les droits administrateurs Source: https://ss64.com/ps/syntax-elevate.html Ceci permet de vérifier si le script a été lance avec un niveau administrateur, si ce n'est pas le cas, cela lance le même script via Start-Process avec l'argument "RunAs" et il va refermer le script. If (-NOT ([Security.Principal.Wind...

PowerShell - PS2EXE 0.5.0.0 by Ingo Karstein

Image
Utiliser le script PowerShell PS2EXE Upgrade du 17/12/2019: Rajout de la version de Markus Scholtes. Dans un précèdent article, j'avais parlé de ma solution pour intégré un script PowerShell dans un exécutable avec le script de package NSIS. Cependant, il y a toujours la solution PS2EXE crée par Ingo Karstein qui peut être télécharger par ici . Une fois que l'on aura récupéré le zip, il faudra l'extraire dans un dossier. Une fois que l'on aura ouvert le dossier, on va tomber sur un script PowerShell qui est sous licence MS-PL, ps2exe.ps1, ce script va compiler traduire en bytecode pour qu’ensuite, il soit compilé à la volée dans l’environnement d’exécution – le CLR Common Language Runtime – du Framework .Net. PS2EXE; v0.5.0.0 by Ingo Karstein (http://blog.karstein-consulting.com) Usage: powershell.exe -command "&'.\ps2exe.ps1' [-inputFile] ' ' [-outputFile] ' ' [-verbose] [-...