Question [Fonction]Simple Net-Use en Powershell
- Alan Pinard
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 77
- Remerciements reçus 0
il y a 16 ans 6 mois #5248
par Alan Pinard
Alan Pinard
Version A
[Fonction]Simple Net-Use en Powershell a été créé par Alan Pinard
Bonjour à tous,
Voici une fonction qui imite simplement la commande net-use pour la création de map réseau.
[code:1]
Function VA-NetUse{
PARAM(
[String]$Map,
[String]$Server,
[String]$Share,
[String]$Action
)
BEGIN{
If($Action -eq $Null) {Write-Host \"Veillez inscrire une action [Create | Delete]. Ex: VA-NetUse -Action Create -Map z -Server ServerName -Share Share1\";Break}
Else {$Action.ToUpper() | Out-Null}
$Map = $Map + \":\"
$MapTest = Get-WmiObject CIM_LogicalDisk
$MapTest | ForEach {
If(($_.DeviceId -eq $Map) -eq $True){$MapExist = $True} Else {$MapExist = $False}
}
}
PROCESS{
$MapShare = New-Object -Com WScript.Network
Switch ($Action){
\"DELETE\" {
$Share = \"\"
$Server = \"\"
If($Map -eq \"\"«»){Write-Host \"Veillez entrer la lettre du mapping a supprimé. Ex: VA-NetUse -Map z -Action Delete\";$Result = \"Error\";Break}
If ($MapExist -eq $False){Write-Host \"Impossible de supprimer le mapping car il est inexistant.\";$Result = \"Error\";Break}
If($Share -ne \"\"«»){Write-Host \"L'option -Share ne peut pas être utiliser avec cette action!\";$Result = \"Error\";Break}
If($Server -ne \"\"«»){Write-Host \"L'option -Server ne peut pas être utiliser avec cette action!\";$Result = \"Error\";Break}
$MapShare.RemoveNetworkDrive($Map,\"True\"«»)
$Result = \"Success\"
}
\"CREATE\" {
If($Map -eq $Null){Write-Host \"Veillez entrer une lettre valide pour le mapping. Ex: VA-NetUse -Map z -Share \\Srv\Share\";$Result = \"Error\";Break}
If ($MapExist -eq $True){Write-Host \"Lettre déjà utiliser. Veiller utiliser un autre lettre.\";$Result = \"Error\";Break}
If($Share -eq $Null){Write-Host \"Veillez inscrire un partage valide. Ex: VA-NetUse -Map z -Server ServerName -Share Share1\";$Result = \"Error\";Break}
If($Server -eq $Null){Write-Host \"Veillez inscrire une adresse de serveur. Ex: VA-NetUse -Map z -Server ServerName -Share Share1\";$Result = \"Error\";Break}
$MapShare.MapNetworkDrive($Map,\"\\\" + $Server + \"\\" + $Share)
$Result = \"Success\"
}
}
}
END{
#Return $Result
}
}
#Va-NetUse -Action \"Create\" -Map \"w\" -Server \"server1.domain.com\" -Share \"Share\"
#Va-NetUse -Action \"Delete\" -Map \"w\"
[/code:1]
Alan Pinard
Version A<br><br>Message édité par: Versiona, à: 3/09/09 00:38
Voici une fonction qui imite simplement la commande net-use pour la création de map réseau.
[code:1]
Function VA-NetUse{
PARAM(
[String]$Map,
[String]$Server,
[String]$Share,
[String]$Action
)
BEGIN{
If($Action -eq $Null) {Write-Host \"Veillez inscrire une action [Create | Delete]. Ex: VA-NetUse -Action Create -Map z -Server ServerName -Share Share1\";Break}
Else {$Action.ToUpper() | Out-Null}
$Map = $Map + \":\"
$MapTest = Get-WmiObject CIM_LogicalDisk
$MapTest | ForEach {
If(($_.DeviceId -eq $Map) -eq $True){$MapExist = $True} Else {$MapExist = $False}
}
}
PROCESS{
$MapShare = New-Object -Com WScript.Network
Switch ($Action){
\"DELETE\" {
$Share = \"\"
$Server = \"\"
If($Map -eq \"\"«»){Write-Host \"Veillez entrer la lettre du mapping a supprimé. Ex: VA-NetUse -Map z -Action Delete\";$Result = \"Error\";Break}
If ($MapExist -eq $False){Write-Host \"Impossible de supprimer le mapping car il est inexistant.\";$Result = \"Error\";Break}
If($Share -ne \"\"«»){Write-Host \"L'option -Share ne peut pas être utiliser avec cette action!\";$Result = \"Error\";Break}
If($Server -ne \"\"«»){Write-Host \"L'option -Server ne peut pas être utiliser avec cette action!\";$Result = \"Error\";Break}
$MapShare.RemoveNetworkDrive($Map,\"True\"«»)
$Result = \"Success\"
}
\"CREATE\" {
If($Map -eq $Null){Write-Host \"Veillez entrer une lettre valide pour le mapping. Ex: VA-NetUse -Map z -Share \\Srv\Share\";$Result = \"Error\";Break}
If ($MapExist -eq $True){Write-Host \"Lettre déjà utiliser. Veiller utiliser un autre lettre.\";$Result = \"Error\";Break}
If($Share -eq $Null){Write-Host \"Veillez inscrire un partage valide. Ex: VA-NetUse -Map z -Server ServerName -Share Share1\";$Result = \"Error\";Break}
If($Server -eq $Null){Write-Host \"Veillez inscrire une adresse de serveur. Ex: VA-NetUse -Map z -Server ServerName -Share Share1\";$Result = \"Error\";Break}
$MapShare.MapNetworkDrive($Map,\"\\\" + $Server + \"\\" + $Share)
$Result = \"Success\"
}
}
}
END{
#Return $Result
}
}
#Va-NetUse -Action \"Create\" -Map \"w\" -Server \"server1.domain.com\" -Share \"Share\"
#Va-NetUse -Action \"Delete\" -Map \"w\"
[/code:1]
La pièce jointe VA_NetUse.ps1 est absente ou indisponible
Alan Pinard
Version A<br><br>Message édité par: Versiona, à: 3/09/09 00:38
Alan Pinard
Version A
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.050 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Contributions à la communauté
- [Fonction]Simple Net-Use en Powershell