Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| powershell_newsymlink [2019/11/29 11:19] – créée nekan | powershell_newsymlink [2021/03/05 16:10] (Version actuelle) – nekan | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ~~CLOSETOC~~ | ||
| ====== New-SymbolicLink - Création d'un lien symbolique ====== | ====== New-SymbolicLink - Création d'un lien symbolique ====== | ||
| + | <label type=" | ||
| Créer un lien symbolique peut avoir plusieurs utilités. On peut par exemple réduire une arborescence ou regrouper dans un dossier des fichiers situés dans différents dossier. | Créer un lien symbolique peut avoir plusieurs utilités. On peut par exemple réduire une arborescence ou regrouper dans un dossier des fichiers situés dans différents dossier. | ||
| Ligne 6: | Ligne 6: | ||
| Pour cela, il existe la commande '' | Pour cela, il existe la commande '' | ||
| - | La fonction suivante résout ce problème. | + | La fonction suivante résout ce problème. |
| - | * Référence : [[https:// | ||
| * Référence : [[https:// | * Référence : [[https:// | ||
| ===== Script ===== | ===== Script ===== | ||
| - | <code:ps1># Création de lien symbolique | + | <sxh powershell># Création de lien symbolique |
| function New-SymbolicLink() | function New-SymbolicLink() | ||
| { | { | ||
| Ligne 52: | Ligne 51: | ||
| .NOTES | .NOTES | ||
| Crée par Nicolas THOREZ, Shyrka System | Crée par Nicolas THOREZ, Shyrka System | ||
| - | Basée sur les travaux de J. F. Larvoire | ||
| - | .LINK | + | .LINK |
| https:// | https:// | ||
| - | https:// | ||
| #> | #> | ||
| Ligne 82: | Ligne 79: | ||
| { | { | ||
| Add-Type @" | Add-Type @" | ||
| - | using System; | + | |
| - | using System.Runtime.InteropServices; | + | using System.Runtime.InteropServices; |
| - | namespace Win32 { | + | |
| - | public class SymLink { | + | |
| - | [DllImport(" | + | |
| - | public static extern bool CreateSymbolicLink(string lpSymlinkFileName, | + | public class SymLink |
| - | [DllImport(" | + | |
| - | | + | [DllImport(" |
| - | + | public static extern bool CreateSymbolicLink(string lpSymlinkFileName, | |
| - | | + | } |
| - | | + | } |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | } | + | |
| - | } | + | |
| "@ | "@ | ||
| } | } | ||
| Ligne 115: | Ligne 104: | ||
| # Création du lien | # Création du lien | ||
| - | $error = [Win32.SymLink]:: | + | [Win32.SymLink]:: |
| # Traitement des éventuelles erreurs | # Traitement des éventuelles erreurs | ||
| - | If ($error) | + | If ($?) |
| - | { | + | { |
| - | throw [ComponentModel.Win32Exception][int]$error | + | # Affichage du résultat |
| - | } | + | |
| - | + | | |
| - | # Affichage du résultat | + | |
| - | New-Object PSObject -Property @{ | + | |
| - | SymLink | + | } |
| - | Target | + | } |
| - | Type = $Type | + | Else |
| - | } | + | { |
| - | } | + | Write-Error " |
| + | } | ||
| + | }</ | ||
| + | |||
| + | ~~DISCUSSION~~ | ||