Question
Get-Credential avec Windows.Form
- IDFNaute
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 11
- Remerciements reçus 0
Comme beaucoup je suis entrain de faire un script de désactivation d'utilisateur AD avec une petite interface graphique (réaliser par ActionScriptEditor 4.0).
Je remercie déjà ce forum qui m'a permis de gérer l'affichage de mes utilisateurs dans une listbox et qui m'a dépanné sur de nombreux points.
Pour \"sécuriser\" le script, j'aimerai qu'il demande à son lancement, les identifiants de l'utilisateur. Pour cela j'ai ajouter au tout début du script (avant la création des Forms) :
[code:1]
$UserCredential = Get-Credential
$Session = New-PSSession -computername DC01.DOMAINE.DEV -Authentication Kerberos -Credential $UserCredential
Import-PSSession $Session
[/code:1]
D'après ISE, lorsque je lance le script, j'ai ces messages d'informations :
PS U:\> D:\_ASE\ASE-FormFinal-0.5.ps1
applet de commande Get-Credential à la position 1 du pipeline de la commande
Fournissez des valeurs pour les paramètres suivants :
Import-PSSession : La création d’un proxy a été ignorée pour la commande « % » car Windows PowerShell n’a pas pu vérifier si le nom de cette commande est sécurisé.
Au caractère D:\_ASE\ASE-FormFinal-0.5.ps1:3 : 1
+ Import-PSSession $Session
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData : ([Import-PSSession], InvalidOperationException
+ FullyQualifiedErrorId : ErrorSkippedUnsafeCommandName,Microsoft.PowerShell.Commands.ImportPSSessionCommand
Import-PSSession : La création d’un proxy a été ignorée pour la commande « ? » car Windows PowerShell n’a pas pu vérifier si le nom de cette commande est sécurisé.
Au caractère D:\_ASE\ASE-FormFinal-0.5.ps1:3 : 1
+ Import-PSSession $Session
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData : ([Import-PSSession], InvalidOperationException
+ FullyQualifiedErrorId : ErrorSkippedUnsafeCommandName,Microsoft.PowerShell.Commands.ImportPSSessionCommand
AVERTISSEMENT : La création d'un proxy a été ignorée pour la commande suivante : « A:, ac, Add-Computer, Add-Content, Add-History, Add-Member, Add-PSSnapin, Add-Type, asnp, B:, C:, cat, cd, cd.., cd\, chdir, Ch
eckpoint-Computer, clc, clear, Clear-Content, Clear-EventLog, Clear-History, Clear-Host, Clear-Item, Clear-ItemProperty, Clear-Variable, clhy, cli, clp, cls, clv, compare, Compare-Object, Complete-Transaction,
Connect-WSMan, ConvertFrom-Csv, ConvertFrom-SecureString, ConvertFrom-StringData, Convert-Path, ConvertTo-Csv, ConvertTo-Html, ConvertTo-SecureString, ConvertTo-Xml, copy, Copy-Item, Copy-ItemProperty, cp, cpi,
cpp, cvpa, D:, dbp, Debug-Process, del, diff, dir, Disable-ComputerRestore, Disable-PSBreakpoint, Disable-PSRemoting, Disable-PSSessionConfiguration, Disable-WSManCredSSP, Disconnect-WSMan, E:, ebp, echo, Enab
le-ComputerRestore, Enable-PSBreakpoint, Enable-PSRemoting, Enable-PSSessionConfiguration, Enable-WSManCredSSP, Enter-PSSession, epal, epcsv, epsn, erase, etsn, Export-Alias, Export-Clixml, Export-Console, Expo
rt-Csv, Export-FormatData, Export-ModuleMember, Export-PSSession, exsn, F:, fc, fl, foreach, ForEach-Object, Format-Custom, Format-List, Format-Table, Format-Wide, ft, fw, G:, gal, gbp, gc, gci, gcm, gcs, gdr,
Get-Acl, Get-Alias, Get-AuthenticodeSignature, Get-ChildItem, Get-ComputerRestorePoint, Get-Content, Get-Credential, Get-Culture, Get-Date, Get-Event, Get-EventLog, Get-EventSubscriber, Get-ExecutionPolicy, Get
-History, Get-Host, Get-HotFix, Get-Item, Get-ItemProperty, Get-Job, Get-Location, Get-Member, Get-Module, Get-PfxCertificate, Get-Process, Get-PSBreakpoint, Get-PSCallStack, Get-PSDrive, Get-PSProvider, Get-PS
Session, Get-PSSessionConfiguration, Get-PSSnapin, Get-Random, Get-Service, Get-TraceSource, Get-Transaction, Get-UICulture, Get-Unique, Get-Variable, Get-Verb, Get-WmiObject, Get-WSManCredSSP, Get-WSManInstanc
e, ghy, gi, gjb, gl, gm, gmo, gp, gps, group, Group-Object, gsn, gsnp, gsv, gu, gv, gwmi, h, H:, help, history, I:, icm, iex, ihy, ii, Import-Alias, Import-Clixml, Import-Csv, Import-LocalizedData, Import-Modul
e, Import-PSSession, ImportSystemModules, Invoke-Command, Invoke-Expression, Invoke-History, Invoke-Item, Invoke-WmiMethod, Invoke-WSManAction, ipal, ipcsv, ipmo, ipsn, ise, iwmi, J:, Join-Path, K:, kill, L:, L
imit-EventLog, lp, ls, M:, man, md, measure, Measure-Command, mi, mkdir, more, mount, move, Move-Item, Move-ItemProperty, mp, mv, N:, nal, ndr, New-Alias, New-Event, New-EventLog, New-Item, New-ItemProperty, Ne
w-Module, New-ModuleManifest, New-Object, New-PSDrive, New-PSSession, New-PSSessionOption, New-Service, New-TimeSpan, New-Variable, New-WebServiceProxy, New-WSManInstance, New-WSManSessionOption, ni, nmo, nsn,
nv, O:, ogv, oh, Out-File, Out-GridView, Out-Host, Out-Null, Out-Printer, Out-String, P:, popd, Pop-Location, prompt, ps, pushd, Push-Location, pwd, Q:, r, R:, rbp, rcjb, rd, rdr, Read-Host, Receive-Job, Regist
er-EngineEvent, Register-ObjectEvent, Register-PSSessionConfiguration, Register-WmiEvent, Remove-Computer, Remove-Event, Remove-EventLog, Remove-Item, Remove-ItemProperty, Remove-Job, Remove-Module, Remove-PSBr
eakpoint, Remove-PSDrive, Remove-PSSession, Remove-PSSnapin, Remove-Variable, Remove-WmiObject, Remove-WSManInstance, ren, Rename-Item, Rename-ItemProperty, Reset-ComputerMachinePassword, Resolve-Path, Restart-
Computer, Restart-Service, Restore-Computer, Resume-Service, ri, rjb, rm, rmdir, rmo, rni, rnp, rp, rsn, rsnp, rv, rvpa, rwmi, S:, sajb, sal, saps, sasv, sbp, sc, select, Select-String, Select-Xml, Send-MailMes
sage, set, Set-Acl, Set-Alias, Set-AuthenticodeSignature, Set-Content, Set-Date, Set-ExecutionPolicy, Set-Item, Set-ItemProperty, Set-Location, Set-PSBreakpoint, Set-PSDebug, Set-PSSessionConfiguration, Set-Ser
vice, Set-StrictMode, Set-TraceSource, Set-Variable, Set-WmiInstance, Set-WSManInstance, Set-WSManQuickConfig, Show-EventLog, si, sl, sleep, sort, Sort-Object, sp, spjb, Split-Path, spps, spsv, start, Start-Job
, Start-Process, Start-Service, Start-Sleep, Start-Transaction, Stop-Computer, Stop-Job, Stop-Process, Stop-Service, Suspend-Service, sv, swmi, T:, tee, Tee-Object, Test-ComputerSecureChannel, Test-Connection,
Test-ModuleManifest, Test-Path, Test-WSMan, Trace-Command, type, U:, Undo-Transaction, Unregister-Event, Unregister-PSSessionConfiguration, Update-FormatData, Update-List, Update-TypeData, Use-Transaction, V:,
W:, Wait-Event, Wait-Job, Wait-Process, where, Where-Object, wjb, write, Write-Debug, Write-Error, Write-EventLog, Write-Host, Write-Output, Write-Progress, Write-Verbose, Write-Warning, X:, Y:, Z: », car cette
opération masquerait une commande locale existante. Utilisez le paramètre AllowClobber si vous souhaitez masquer des commandes locales existantes.
ModuleType Name ExportedCommands
----
Script tmp_uwlm0x4s.f4p {Export-Counter, Get-Counter, Get-WinEvent, Import-Counter...}
Mais il semblerait que le script tourne. Je n'ai pas chercher à aller plus loin, ayant rentrer un compte admin avec pouvoir, je souhaitais avoir votre retour pour savoir si c'était normal et la bonne façon de procéder.
Bien à vous
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
tu souhaites faire de l'implicite remoting ou exécuter un script à distance et récupérer le résultat en local ?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- IDFNaute
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 11
- Remerciements reçus 0
Qu'il soit éxecuté en local ou bien à distance ne me pose pas vraiment de problème, c'est surtout le fait qu'il doit récupérer les Crédential d'un utilisateur pour faire les modifications dans l'AD.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
En local, c'est à dire un poste Seven par exemple, ton IHM fonctionnera et l'appel à distance, afin d'accéder aux cmdlets AD, également.Qu'il soit exécuté en local ou bien à distance ne me pose pas vraiment de problème
L'exécution à distance d'une IHM n'est pas possible.
L'implicite remoting permet d'adresser des cmdlets d'un serveur distant à partir d'un poste, comme s'ils étaient en local ( pas besoin d'Invoke-Command).
C'est la commande qui ici génère le message d'erreur, je ne connais pas ce message, mais peut le générer en local :
[code:1]
$Session = New-PSSession -computername localhost
Import-PSSession $Session
[/code:1]
Par défaut ton appel charge toutes les commandes ( cf. -AllowClobber).
Ceci devrait fonctionner
[code:1]
$UserCredential = Get-Credential
$Session = New-PSSession -computername DC01.DOMAINE.DEV -Authentication Kerberos -Credential $UserCredential
Import-PSSession $Session -Module ActiveDirectory
[/code:1]
Si je me souviens bien les deux versions de PS doivent être identique sur les deux machines (à confirmer).<br><br>Message édité par: Laurent Dardenne, à: 11/07/14 11:14
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- IDFNaute
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 11
- Remerciements reçus 0
J'avais pas pensé à vérifier la version de PS. Je suis pratiquement sur que c'est du 2.0 sur le DC et du 3.0 sur ma machine.
Je vais essayer cette après midi la solution proposée.
Merci bien !<br><br>Message édité par: IDFNAUTE, à: 11/07/14 12:19
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
Dans ce cas, sur ton poste, code ton script avec la version 2 :Je suis pratiquement sur que c'est du 2.0 sur le DC et du 3.0 sur ma machine.
[code:1]powershell.exe -version 2.0[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Get-Credential avec Windows.Form