Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

backup VM met credentials via PowerShell

Pagina: 1
Acties:

  • Cpri
  • Registratie: Juni 2001
  • Laatst online: 20-03-2023
Hallo,

Ik probeer van uit de powershell een backup te maken van mijn VM
hiervoor gebruik ik het volgende commando
Get-VM mijnServer | Export-VM -path Z:\Backup\

Ik krijg nu de volgende error terug
code:
1
2
3
4
5
6
7
8
9
PS C:\Windows\System32\WindowsPowerShell\v1.0> Get-VM prodsrv01 | Export-VM -path Z:\ | Out-file Z:\backup.txt
Export-VM : Export failed for virtual machine 'PRODSRV01' (3F6A2DE9-835E-45F9-9BC5-0EF75981DF70) with error 'The user
name or password is incorrect.' (0x8007052E).
At line:1 char:20
+ Get-VM prodsrv01 | Export-VM -path Z:\ | Out-file Z:\backup.txt
+                    ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Microsoft.HyperV.PowerShell.VMTask:VMTask) [Export-VM], VirtualizationOpe
   rationFailedException
    + FullyQualifiedErrorId : OperationFailed,Microsoft.HyperV.PowerShell.Commands.ExportVMCommand


Nu weet ik dat je bij Export-VM ook een Credential parameter mee kan geven
Echter ik kan niet de juiste syntax hiervoor vinden.

Wellicht hebben julie een voorbeeld hoe ik dit wel moet doen.
Of slaat de foutmelding ergens anders op?

  • eric.1
  • Registratie: Juli 2014
  • Laatst online: 20:44
De -Credential parameter verwacht een PSCredential object. Dan kun je volgens mij zoiets doen;
PowerShell:
1
2
3
$securepassword = ConvertTo-SecureString "thisismysecurepassword" -AsPlainText -Force

$mycredentials = New-Object System.Management.Automation.PSCredential ("myUsername" $securepassword)


Of als je interactief je credentials wilt invoeren;
PowerShell:
1
$mycredentials = Get-Credential


Dan kan je $mycredentials meegeven als -Credential parameter.

  • Cpri
  • Registratie: Juni 2001
  • Laatst online: 20-03-2023
Bedankt voor de feedback, maar wanneer ik nu het volgende statement invoer krijg ik de volgende foutmelding:

Export-VM : A parameter cannot be found that matches parameter name 'Credential'.

code:
1
Get-VM prodsrv01 | Export-VM -path Z:\ -Credential $mycredentials


Blijkbaar toch iets mis met mijn syntax

  • Meekoh
  • Registratie: April 2005
  • Laatst online: 17-11 22:19
Kijk zelf ook eens even op Technet: Export-VM

Daar zie je dat Export-VM 2 parameter sets heeft.
- 1 die een -Credential parameter heeft (Op basis van VMName als input)
- 1 die GEEN -Credential parameter heeft ( op basisv van een VMObject als input)

Wat jij nu doet door het te pipen ( dat | dingetje) is een VMObject doorpassen.
Dus geen -Credential.
Dus zul je -Credential al moeten meegeven aan Get-VM ;)

Computer says no


  • Cpri
  • Registratie: Juni 2001
  • Laatst online: 20-03-2023
Beetje bij beetje begin ik het te begrijpen.
Maar als ik de -Credential parameter mee geef aan de Get-VM krijg ik dezelfde foutmelding maar dan op de Get-VM statement

Get-VM : A parameter cannot be found that matches parameter name 'Credential'.

code:
1
2
$mycredentials = Get-Credential 
Get-VM prodsrv01 -Credential $mycredentials | Export-VM -path Z:\

  • Dysmael
  • Registratie: Januari 2002
  • Laatst online: 01-08-2019
Let je erop dat dit geen goede back-up is maar een kopie van een VM?
Afhankelijk van wat je precies wil bereiken is het misschien verstandig om toch eens na te denken of je dit niet op een andere manier wil oplossen. Bv met Veeam BR, waarvan ook een Free edition beschikbaar is.
(hoewel ik niet zeker weet of Veeam Free ook application-aware processing doet; dat kan wel belangrijk zijn afhankelijk van wat er in de VM draait)

[ Voor 21% gewijzigd door Dysmael op 26-05-2017 11:34 ]


  • Meekoh
  • Registratie: April 2005
  • Laatst online: 17-11 22:19
Nogmaals kijk op Technet: Get-VM

Daar zie je dat er 1 parameterset is die geen Credential object accepteerd.
Is "prodsrv01" toevallig een ClusterObject?
Zo nee, gebruik dan overal named parameters. Dus -Name prodsrv01.

edit: in principe heb je met die technet artikelen alles bij de hand om dit zelfstandig te kunnen fixen ;)

[ Voor 15% gewijzigd door Meekoh op 26-05-2017 11:36 ]

Computer says no


Verwijderd

Cpri schreef op vrijdag 26 mei 2017 @ 10:40:
Beetje bij beetje begin ik het te begrijpen.
Maar als ik de -Credential parameter mee geef aan de Get-VM krijg ik dezelfde foutmelding maar dan op de Get-VM statement

Get-VM : A parameter cannot be found that matches parameter name 'Credential'.

code:
1
2
$mycredentials = Get-Credential 
Get-VM prodsrv01 -Credential $mycredentials | Export-VM -path Z:\
Maar je gebruikt dus geen converttosecurestring? Doe dat nou even. Of post je hele script.

Daarnaast, gebruik de help functie (bijv.
code:
1
help get-vm -examples
hiervoor. Gaat je echt helpen om powershell te leren.

  • Wylana
  • Registratie: April 2009
  • Laatst online: 17:42
Mag ik vragen waarom je dit per se met Powershell wilt doen en niet met gratis tools als Veeam?

zie: https://www.veeam.com/vir...backup-solution-free.html

Ik ben steenrijk....ik heb een grindpad!


  • bdevogt
  • Registratie: Oktober 2007
  • Laatst online: 00:06
Dit zou meer moeten werken

$cred = Get-Credential
Connect-VIServer -Server [servenaam] -Credential $cred

get-vm -name pfsense | export-vm -Destination D:\temp\

Verder niet getest maar probeer maar eens

Bart

'Iedereen is gelijk, maar sommigen zijn meer gelijk dan anderen',. -George Orwell


  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

bdevogt schreef op dinsdag 13 juni 2017 @ 17:13:
Dit zou meer moeten werken

$cred = Get-Credential
Connect-VIServer -Server [servenaam] -Credential $cred

get-vm -name pfsense | export-vm -Destination D:\temp\

Verder niet getest maar probeer maar eens

Bart
Het lijkt mij hier over Hyper-V te gaan en niet over ESX...
Meekoh schreef op vrijdag 26 mei 2017 @ 09:23:
Kijk zelf ook eens even op Technet: Export-VM

Daar zie je dat Export-VM 2 parameter sets heeft.
- 1 die een -Credential parameter heeft (Op basis van VMName als input)
- 1 die GEEN -Credential parameter heeft ( op basisv van een VMObject als input)

Wat jij nu doet door het te pipen ( dat | dingetje) is een VMObject doorpassen.
Dus geen -Credential.
Dus zul je -Credential al moeten meegeven aan Get-VM ;)
Ik ben zelf eerder thuis in het beheer van ESX ipv. Hyper-V, maar ik heb de indruk dat bovenstaande reactie van @Meekoh niet helemaal begrepen is. Gebruik eenvoudigweg de naam ipv. het object. Ik ken de precieze output niet, maar afgaande op de documentatie:

PowerShell:
1
Get-VM -Name pfsense | Export-VM -Computername $_.Name -Destination 'D:\temp\' -Credential $(Get-Credential)


Of authenticate inderdaad bij de Get-VM. Het is mij van de documentatie niet duidelijk of die authentificering bij Export-VM bedoeld is voor source of voor target.

[ Voor 12% gewijzigd door YellowOnline op 14-06-2017 13:19 ]

Pagina: 1