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 Galloway
la source
@ 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.

Steven Murawski
la source
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()
Eldila
la source
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
Voir également blogs.msdn.com/adpowershell/default.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.

Marcus
la source
2

En ce moment, je suis un grand fan de Get-WMIObject.

Tim Benninghoff
la source
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é.

Brandan
la source
1

Pour moi -WhatIf est le plus utile.

travis
la source
-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:\
dance2die
la source
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.

aleksandar
la source
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.

user2278
la source
1

Un de mes favoris:

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

La version PowerShell du fichier journal 'tail -f'

SlinkingAnt
la source
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.

Chris Magnuson
la source
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.

Andy Schneider
la source