Comment ajouter un cmdlet PowerShell ou une fonction à ma machine pour qu'elle soit toujours disponible?

si je trouve (ou crée) un nouveau cmdlet PowerShell (ou une fonction), Comment l'ajouter à ma machine?

  • Dois-je le copier dans un dossier particulier?
  • est-ce que je mets son contenu dans un fichier particulier?
  • Dois-je besoin de l'autoriser, ou de le signer, ou de lui donner l'autorisation d'une certaine façon?

Je ne veux pas l'utiliser en une seule session; je veux qu'il soit disponible chaque fois que j'utilise PowerShell sur cette machine.

15
demandé sur Peter Mortensen 2009-08-28 05:03:03

2 réponses

Alex mentionne, toute fonction définie dans votre profil ou dans un script qui récupère les "pointillés" dans votre profil sera toujours disponible. Il en va de même si vous utilisez Add-PSSnapin dans votre profil pour ajouter un snapin. Les cmdlets du snapin seront toujours disponibles. Pour plus d'informations sur les profils consultez la rubrique d'aide:

man about_profiles

cependant, si vous avez un nombre important de fonctions, vous ne voudrez peut-être pas les charger avant qu'elles ne soient nécessaires. Dans ce cas, vous pouvez organiser la fonctionnalité dans les scripts, puis mettre ces scripts dans un ou plusieurs répertoires qui sont dans votre chemin. Vous pouvez alors référencer le script par son nom sans spécifier le chemin complet ou même le .PS1 extension. Pour plus d'informations sur l'utilisation de scripts, consultez la rubrique d'aide:

man about_scripts

PowerShell V2 introduit une approche encore meilleure pour organiser les fonctions et les charger sur demande. La fonctionnalité est appelée Modules et vous permet D'importer-Module par un nom simple (plutôt que path) et de choisir quelles fonctions et variables sont rendues publiques par rapport à celles qui restent privées. Si vous avez des V2, découvrez les modules:

man about_modules
14
répondu Keith Hill 2009-08-28 16:50:14

vous devriez accéder aux cmdlets par le biais de votre script de profil. De cette façon, chaque fois que vous accédez à PowerShell, il est chargé. Voir la puissance des profils.

3
répondu Alex 2014-11-30 22:46:09