PowerShell

[PowerShell JEA] Just Enough Administration

PowerShell JEA permet de déléguer certaines opérations d'administration avec PowerShell à distance à vos équipes techniques. Les commandes disponibles peuvent être contrôlées. Elle facilite certaines opérations d'exploitation tout en limitant les risques.

Les recommandations de l'ANSSI concernant l'administration sécurisée des systèmes d'information reposant sur Active Directory, publiées en octobre 2023 y font référence.

[PowerShell] Tailles des dossiers et sous dossiers

Il y a un peu plus de 3 ans, j'avais publié un article sur un script PowerShell permettant de rechercher la taille des dossiers si un ou plusieurs niveaux ici.

Le lien n'étant plus valide, vous trouverez un exemple de script ci-dessous :

L'exemple de script est téléchargeable ici.

<#

[PowerShell] Obtenir des informations sur un ordinateur à distance

Dans l'article précédent nous avions vu comment activer la gestion à distance de Windows (WinRM) à l'aide des stratégies de groupe. Cette option vous permet entre autres d'exécuter à distance des commandes PowerShell sur des ordinateurs spécifiques. Une commande PowerShell intéressante est « Get-ComputerInfo ».

[Windows Server] Utiliser PowerShell pour déverrouiller des fichiers

 

Il peut arriver que l'on se retrouve avec des fichiers partagés verrouillés par certains utilisateurs après que le document se soit mal refermé.

Il est possible de voir les fichiers ouverts depuis la console « Gestion de l'ordinateur ». Néanmoins la liste peut être longue et il peut être difficile de retrouver un élément précis.

La commande PowerShell « Get-SmbOpenFile », permet de lister les fichiers ouverts. LA commande ci-dessous listera tous les fichiers ouverts par des utilisateurs dont le nom contient les lettres « pba ».

[Exchange PowerShell] Accès complet et connexion automatique

Si vous avez une version récente d'Exchange vous avez sans doute constaté qu'en ajoutant l'accès complet à une boite aux lettres pour un utilisateur, celle-ci va être automatiquement connecté dans Outlook. Il vous est peut-être aussi arrivé de rencontrer des utilisateurs pour lesquels la connexion automatique ne se fait pas.

Tags: 

[PowerShell] Taille des dossiers et sous dossiers : Get-FolderSize

 

À la suite d'une question sur les forums Technet, j'ai ressorti un de mes scripts pour l'améliorer et le mettre à disposition sur les Gallery :

https://gallery.technet.microsoft.com/Get-FolderSizeps1-036f331a?redir=0

Je pense que nous utilisons tous des outils comme Treesize ou WindirStat. Ces outils sont bien pratiques rapide et facile d'emploi.

[PowerShell] Gestion des permissions sur les fichiers (2)

 

Dans cette deuxième partie, nous allons voir la gestion des permissions NTFS (ACL).

Nous verrons comment récupérer les informations, modifier les permissions ou supprimer l'héritage.

Les permissions NTFS, ainsi que les informations d'audit sont enregistrées dans les propriétés des fichiers ou des dossiers. La manipulation n'est pas forcément simple à comprendre au début.

Tags: 

[PowerShell] Gestion des fichiers (1)

Dans cet article nous allons voir quelques commandes PowerShell liées à la gestion des fichiers, des dossiers et des droits(ACL).

La première commande que nous allons voire est : Get-ChildItem . Elle permet de rechercher des fichiers et/ou des dossiers. Elle se différencie de la commande Get-Item qui récupère les informations sur un objet. Get-ChildItem comme son nom l'indique recherche les objets enfants.

[Hyper-V] Copie de fichiers de l’hôte vers la VM

 

Depuis Windows Server 2012, il est possible de copier directement des fichiers depuis l'hôte Hyper-V vers une machine virtuelle avec PowerShell.

Pour cela les services d'invité doivent être activé sur la machine virtuelle. Il est possible de le faire depuis les paramètres :

 

Vous pouvez utiliser la commande PowerShell suivante pour lister les VMs, sur lesquels les services d'invités sont activés :

[PowerShell Script] Mise à jour Vhd

J'ai publié un script PowerShell permettant d'appliquer des mises à jour contenu dans un dossier à un disque virtuel offline. Dans mon exemple, il applique des mises à jour à mon image de base Windows Server 2016 « sysprepé », que j'utilises dans mes articles.

Vous pouvez le télécharger librement à l'adresse :

https://gallery.technet.microsoft.com/Apply-Update-in-VHD-File-e6fdf23c?redir=0

 

La commande a exécuté est la suivante :

[PowerShell AD DS] Création des utilisateurs

Dans ce nouvel article, qui est un peu la suite des précédents sur PowerShell, nous allons nous intéresser à la gestion des utilisateurs. PowerShell est un outil très puissant qui vous permettra d'automatiser la gestion complète des utilisateurs. Vous pouvez consulter mon article de l'année dernière pour vous faire une idée des possibilités d'automatisation : http://pbarth.fr/node/231.

Les commandes suivantes, vous donneront la liste des CmdLet présenté dans cet article :

[PowerShell AD] Nouvelle forêt / domaine

 

Si vous avez déjà créé une nouvelle forêt/domaine avec PowerShell, vous avez pu constater qu'il est possible de définir le niveau fonctionnel de la forêt / du domaine avec l'option « -ForestMode » ou « -DomainMode ». Il suffisait d'indiquer la valeur, comme par exemple pour Windows 2012 : « Win2012 ». Par déduction pour Windows 2016 il faudrait utiliser « Win2016 » et cela donnera par exemple :

Install-ADDSForest -CreateDnsDelegation:$false -DatabasePath "D:\NTDS" `

[PowerShell AD DS] OU : protection contre la suppression accidentelle

 

Nous avons vu dans l'article précédent les commandes PowerShell liées au OU. Nous avons pu également constater que certaine OU sont protégés contre la suppression :

La commande suivante permet de vérifier si une OU est protégée. Dans ce cas la propriété « ProtectedFromAccidentalDeletion » vaut « True » :

Tags: 

[PowerShell AD DS] Création et modification des OUs

Dans cet article, nous allons voir comment créer, modifier et supprimer des OU avec les commandes PowerShell.

La commande suivante permet de lister les commandes PowerShell liées aux unités d'organisations :

Get-Command *-adorg*

 

Pour lister l'ensemble des OUs, vous pouvez utiliser la commande ci-dessous :

Get-ADOrganizationalUnit -Filter *

Tags: 

[PowerShell AD : les modules]

Pour ceux d'entre vous qui avez déjà eu une première expérience avec PowerShell, mais qui ne connaissez pas les modules propres à Active Directory, nous allons les découvrir dans une série d'articles.

Ces modules sont disponibles par défaut sur les contrôleurs de domaines, il est possible de les installer sur des serveurs membres en activant les outils d'administration de serveurs distants (RSAT). Sur les postes clients vous devez au préalable télécharger les RSAT pour la version du système d'exploitation dont vous disposez.

[PowerShell] No limit !

 

Comme vous pouvez le voir si vous avez parcouru mon site, j'ai fait un certain nombre d'articles techniques sur Active Directory.

Pour une fois je vais parler juste de mon expérience, afin de vous faire découvrir une partie de ce que vous pourriez réaliser avec PowerShell.

[PowerShell AD DS] Comparer les membres de deux groupes

Dans ce nouvel article je vais vous présenter un script que j'ai mis à disposition sur les galléries Technet à l'adresse suivante :

https://gallery.technet.microsoft.com/Compare-Members-of-two-2d6d3e02

Le script permet renvoie un tableau avec le « DistinguishedName » (identifiant LDAP) de l'objet ainsi que sa présence dans le premier groupe, le second groupe ou les deux.

Tags: 

Liste des groupes hérités d’un utilisateur

Dans cet article je vais vous présenter un script disponible sur les galléries Technet, que j'ai réalisé.

Le but de ce script est de déterminer les groupes auxquels appartient un utilisateur qu'il soit membre directement du groupe ou que l'appartenance soit héritée.

Pour commencer nous avons un utilisateur dont le nom d'ouverture de session est « pbarth ». Cet utilisateur a été ajouté dans le groupe « SG-Service-Informatique ».

Tags: 

S'abonner à RSS - PowerShell