Question
Désactivation Carte Réseau
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6294
- Remerciements reçus 67
+1peut tu aussi nous donné la version de l'os et du framework stp ça peut servir
6ratgus écrit:
Je reste dubitatif sur cette explication, WMI proposant des objets COM qui n'ont rien à voir avec le framework dotnet.j'aurais pas pensé au framework !!!!
Mais ça fonctionne tant mieux

6ratgus écrit:
D'après le premier commentaire de cet article cette classe est deprecated à partir de Windows 8 .test fait sur Windows 7 et 10 !<br><br>Message édité par: 6ratgus, à: 7/03/16 10:06
L'auteur du commentaire étant un ancien de la team Powershell.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- COTTIN
- Auteur du sujet
- Hors Ligne
- Membre premium
-
- Messages : 84
- Remerciements reçus 0

se n'est pas le FRAMEWORK mais ma version de powershell installé sur le poste qui était obsoléte.
J'ai du installé la v3 car j'avais la v2 sur le poste.
Ensuite j'ai une petit question:
est-il possbile de faire un credential avec un mot de passe admin avec \"quelque\" caractére spéciaux, j'ai besion de cette manip pour pouvoir utilisé mon script sur des session utilisateur sans droits. (j'ai un @ et un 0 (zéro) dans mon mdp)
voici l'erreur
New-Object : Impossible de convertir l'argument «1» (valeur «*****») de «PSCredential» en type «System.Security.SecureString»: «Impossible
de convertir la valeur «*****» du type «System.String» en type «System.Security.SecureString».»
Au caractère Ligne:3 : 15
+ $Credential = New-Object -typename System.Management.Automation.PSCredential -Ar ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : ([New-Object], MethodException
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand
Message édité par: tcottin, à: 7/03/16 16:19<br><br>Message édité par: tcottin, à: 7/03/16 16:20
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
@Laurent
j'aller justement rajouter cette remarque du module netadapter de Windows 8/2012 ou plus
je crois te l'avoir déjà demandé mais existe-il une base des class deprecated ou faut il regardé a chaque sur ça définition sur MSDN ?
@tcottin
je crois que tu n'a pas lu l'article jusqu'au bout ou alors tu a eu comme moi des problèmes d'accès au site en milieu d'aprem pendant 1h !!est-il possbile de faire un credential avec un mot de passe admin avec \"quelque\" caractére spéciaux, j'ai besion de cette manip pour pouvoir utilisé mon script sur des session utilisateur sans droits. (j'ai un @ et un 0 (zéro) dans mon mdp)

<br><br>Message édité par: 6ratgus, à: 7/03/16 17:12Keep in mind that WMI does not permit alternate credentials for a local connection. Attempts to use alternate credentials for a local connection results in the following error:
PS C:\> gwmi win32_networkadapter -Credential (Get-Credential)
cmdlet Get-Credential at command pipeline position 1
Supply values for the following parameters:
Credential
gwmi : User credentials cannot be used for local connections
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21

tu peux toujours faire un credential sur un invoke-command sur un script qui exécute le Get-WmiObject Win32_NetworkAdapter
a testé !! tiens nous au courant !!
par contre pour ton soucis de caractères spéciaux comment rempli tu la variable contenant le mot de passe ?
extrait de la doc get-credential :
[code:1]$PWord = ConvertTo-SecureString –String \"P@sSw0rd\" –AsPlainText -Force
$Credential = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $User, $PWord
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
en local pas de problème :
[code:1]
$ordi = \".\" #\"pc-de-test\"
$PWord = ConvertTo-SecureString –String \"P@sSw0rd\" –AsPlainText -Force
$Credential = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $User, $PWord
Invoke-Command -ComputerName $ordi -Credential $Credential -ScriptBlock {
Get-WmiObject win32_networkadapter
(Get-WmiObject win32_networkadapter | where {$_.name -eq 'Realtek Virtual Adapter'}).Disable()
sleep 5
(Get-WmiObject win32_networkadapter | where {$_.name -eq 'Realtek Virtual Adapter'}).Enable()
}
[/code:1]
à distance le script distant s'exécute sur le poste distant mais petit blocage sur le poste qui lance le invoke normal ça bloque le réseau !!
Connexion ou Créer un compte pour participer à la conversation.
- COTTIN
- Auteur du sujet
- Hors Ligne
- Membre premium
-
- Messages : 84
- Remerciements reçus 0
J'ai une salle de formation mutualisé avec une maison de quartier pour les jeunes des cités.
En gros.
J'ai une session ADMIN.
Une session FORMATION
Une session OMJT (Session pour les jeunes)
La session FORMATION accéde a mon réseau pour des souci de droits sur des appli.
La session OMJT est sur un VLAN différent qui ne touche pas a notre réseau (les virus vous restez dehors)
Les 2 sessions FORMATION et OMJT son simple utilisateurs. Quand j'ouvre la session FORMATION la carte OMJT se désactive et pareil pour l'autre session mais sur l'autre carte.
Le seul problème que j'ai maintenant c'est que quand je fait une tâche planifié avec mon compte ADMIN pour que le script s'éxécute a l'ouverture de la session, rien ne se passe.
[code:1]
<#
Script pour Activation et désactivation de la carte réseau.
#>
$users = \".\Administrateur\"
$Password = \"MOT DE PASSE ADMIN\"
$Credential = New-Object -typename System.Management.Automation.PSCredential -ArgumentList $Users, $Password
(Get-WmiObject win32_networkadapter -Credential $Credential | where {$_.DeviceID -eq '11'}).Disable();
(Get-WmiObject win32_networkadapter -Credential $Credential | where {$_.DeviceID -eq '12'}).Disable();
$user = Get-Content env:username
if ( $user -eq \"OMJT\"«»)
{
(Get-WmiObject win32_networkadapter -Credential $Credential | where {$_.DeviceID -eq '11'}).Enable();
}
Else ($user -eq \"Formation\"«»)
{
(Get-WmiObject win32_networkadapter -Credential $Credential | where {$_.DeviceID -eq '12'}).Enable();
}
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Désactivation Carte Réseau