Quelle est votre commande ou script Powershell préféré pour l'administration du système? [fermé]


16

Quelle est votre meilleure commande Powershell? Faisons une liste et votons pour les meilleurs!


@ Jon: vouliez-vous dire "cmdlet"?
dance2die

Doit être étiqueté comme subjectif
halr9000

Réponses:


13

Get-Member est le roi des applets de commande PowerShell.

Get-Member vous permet d'explorer de manière interactive les membres et types d'objets (avec le commutateur -static) des objets statiques.


5

J'aime avoir un script pour trouver des utilisateurs AD:

$strFilter = "(&(objectCategory=User)(sAMAccountName=[USERNAME]))";
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher;
$objSearcher.SearchRoot = "LDAP://dc=[AD_Location]";
$objSearcher.Filter = $strFilter;
$objSearcher.SearchScope = "Subtree";
$objSearcher.FindALL()

2
Cela peut être fait en une seule ligne avec les applets de commande Quest AD - elles sont gratuites et super utiles! quest.com/activeroles-server/arms.aspx
Doug Chase


1
@Doug Chase Oui, c'est gratuit, mais certaines organisations ne vous permettent pas d'utiliser des logiciels non approuvés, avec de très mauvais délais pour faire approuver des choses, mais les scripts que vous écrivez vous-même sont instantanément disponibles.
Orihara

1
Au cas où quelqu'un verrait cela maintenant et penserait que c'est un bon script, si vous avez installé les outils RSAT, vous pouvez le faire avec un one-liner dans Powershell 2.0: Get-ADUser -filter 'Name -like "*"'(remplacez "filter" par n'importe quoi)
Mark Henderson

3

Je dois aller chercher de l'aide. Cette applet de commande est la clé pour trouver les fonctionnalités d'autres applets de commande. Une seconde proche serait get-member.



2

"Test-Path" trouvant cela utile pour vérifier si des données sont déjà là ou si un défaut doit être ajouté.


1

Pour moi -WhatIf est le plus utile.


-1: -Whatif n'est pas une applet de commande mais une option d'applet de commande.
dance2die

1
il vient de spécifier "commande" et non cmdlet
travis

1

CD (Change-Location) - Je peux essentiellement naviguer dans le registre comme s'il s'agissait d'un système de fichiers. en gros, vous pouvez le faire pour tous les fournisseurs de PowerShell (retourné par Get-PSProviders)

cd HKLM:\

1

Aucune question à ce sujet - Get-Member. Je ne peux imaginer aucune session PowerShell sans l'utiliser. La découvrabilité est l'une des fonctionnalités les plus puissantes de Windows PowerShell.


1

C'est plus une technique qu'une applet de commande ou une fonction particulière, mais mon truc PS préféré est la construction d'objet:

$foo=""|select bar, baz, gronk|ft

vous donne

bar   baz   gronk
----- ----- ------

ce qui est pratique pour transformer des données non structurées en un ensemble d'objets pour un traitement ultérieur.


1

Un de mes favoris:

Get-Content "c: \ logfile.log" -wait

La version PowerShell du fichier journal 'tail -f'


1
Cela ne semble pas fonctionner pour moi. J'ai exécuté cette commande sur un fichier CSV dans lequel une autre commande Powershell écrivait des données et elle n'affichait pas les mises à jour du fichier tel qu'il était en cours de modification, mais ne m'a montré que les lignes du fichier telles qu'elles existaient lorsque j'ai exécuté la commande, puis juste suspendu en attendant CTRL + Break.
Chris Magnuson

1

Je vois Get-Member répertorié, ce que je dois accepter est le meilleur mais une seconde proche et tout aussi nécessaire pour moi est:

Format-List

La façon dont je l'utilise le plus souvent est après un tuyau pour me montrer toutes les valeurs des propriétés d'un objet:

$SomeObject | fl *

GM vous dira quel est l'objet et énumérera les noms et les types de ses propriétés, mais le plus souvent cela ne vous aide pas à vraiment comprendre la façon dont ces propriétés sont utilisées sans consulter la documentation qui peut être fastidieuse.

$SomeObject | Format-List * affichera toutes les valeurs des propriétés disponibles sur l'objet afin que vous puissiez voir quelles sont leurs valeurs actuelles et commencer à rechercher les propriétés que vous souhaitez sélectionner ou utiliser pour filtrer les objets.

Je trouverai souvent qu'un objet a plusieurs propriétés qui, selon la documentation, semblent avoir les données que je veux, mais en réalité, seule l'une des propriétés contient des données ou les données de l'une d'entre elles ne correspondent pas du tout à ce que vous attendez en fonction de la documentation seule.



0

En plus de Get-Member, je devrais dire Add-Member et New-Object qui vous donnent la possibilité d'utiliser le système de type extensible.

La possibilité d'ajouter des membres à n'importe quel objet à tout moment vous permet d'obtenir les informations exactes dont vous avez besoin avec la possibilité de les trier, de les grouper, de les découper, de les découper, de les exporter, ou tout ce que vous voulez en faire.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.