PowerCLI 5.0 - get the data store and VM information
I am trying to reach the list of virtual machines and their data warehouses in a specific cluster. It seems that the name of the data store does not... Any ideas?
PowerCLI C:\Program Files (x 86) \VMware\Infrastructure\vSphere PowerCLI > Get-Cluster "NOMCLUSTER" | Get-VM-name * | Get-hard drive | Export-Csv - NoTypeInform
c:\Scripts\***.csv creation
Get-Cluster * | Get - VM | Select Name,
@{N = 'Cluster'; {E = {Get-Cluster - VM $_}}, '
@{N = "ESX host"; {E = {Get-VMHost - VM $_}}, '
@{N = "Datastore"; E = {Get-Datastore - VM
$_}}
Tags: VMware
Similar Questions
-
Hello, I do not know if here is righ place to my question if not please tell me where I can post it.
I am attemping the information on the data store size by CLI with order tracking.
c:\Program Files (x 86) \VMware\VMware vSphere CLI\bin > vmkfstools.pl "C:\Prograare\VMware vSphere CLI\Perl\bin\perl.exe" - serve
queryfs-/ vmfs/volumes/v7ksas17 - vihost jvelnx - vm01.tigre.inwork of starts but he asks me user and password for the moment that I run.
I want to move this authentication directly by the CLI only after "ENTER".
Is it possible? How?
Thank you
If you use the vCLI under Windows, you can use the passthroughauth - assuming you connect in Windows system with the same credentials that you would login to your vSphere environment.
If this isn't the case, you can also specify the user name and password by specifying it only on the same command:
for example
vmkfstools.pl - Server [VC] - queryfs/vmfs/volumes/v7ksas17 - vihost jvelnx - vm01.tigre.in - username [USER] - password [COL]
Also, you can create a session file and then specify that, in this way, you don't need to have your credentials in clear text.
You can take a look at the additional documentation by auth options here - http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmware.vcli.getstart.doc_50%2Fcli_run_remote.5.3.html
-
We have warehouses of data which are seen by more than one cluster. I need a script that will display:
all stores of data seen by a cluster
the virtual machines on the data store
the host of the virtual machine is on
the cluster the host is in
The output I want is
name of the store of data, the VM name, host name, the name of the Cluster
any help would be appreciated
Pretty sure this will do what you need:
$report = @() Foreach($cluster in Get-Cluster){ $datastores = $cluster | Get-VMHost | Get-Datastore foreach($datastore in $datastores){ $vms = $datastore | Get-VM If ($vms.count -ge 1){ foreach($VM in $vms){ $object = New-Object -TypeName PSObject -Property @{ Datastore = $datastore.Name VM = $VM.Name HostName = $VM.VMhost Cluster = $cluster } $report += $object } } } } $report | Export-Csv C:\Temp\VMs.csv -NoTypeInformation -UseCulture
If you only want to shared data warehouses you can then use
$datastores = $cluster | Get-VMHost | Get-Datastore | Where {$_.Extensiondata.Summary.MultipleHostAccess -eq $True}
Hope this helps
-
get the data store with details of mapped cluster
Hi with the script below, I am able to do data store maps on which the cluster and its host details... but I'm having multiple LUNS how to write for everyone to get to each store data below the output...
Get-data store 'testdatastore ' | Get-VMHost | Name,@{N="cluster select '; E={$_| Get-Cluster}}, version
Output:
Version of cluster name
10.0.0.0 testcluster 5.1.0
Desired output:
I need the name of output data store because I check for several data stores... can someone help me to get .csv exit foreach datastore as below
Data name cluster version store
testdatastore 10.0.0.0 testcluster 5.1.0
testdatastore 1 10.0.0.1 testcluster2 5.1.0 What type of data store?
I'm asking because there is no mentioned properties (. ExtensionData.Info.Vmfs.Extent) for data warehouses is of type NFS:
PowerCLI C:\Windows\system32 > ((get-datastore_iscsi*).ExtensionData.Info.Vmfs.Extent). Diskname
NAA.60a9800042594835695d453439742f53
PowerCLI C:\Windows\system32 > ((get-datastore_NFS).ExtensionData.Info.Vmfs.Extent). Diskname
So, you'll need probably something like this:
Get-Datastore. % { $ds=$_; Get-VMHost - Datastore $ds | Select @{N = 'Data store name'; E = {$ds. Name}},@{N="NAA '; E = {if($ds.) Type - such as 'NFS') {'NFS'} elseif($ds.) Type - as "VMFS") {[String]: join (", ($ds.ExtensionData.Info.Vmfs.Extent|% {$_.}))} DISKNAME}))}}}, name, @{N = 'cluster'; E={$_| {Get-Cluster}}, version}
-
Help with script from beginner to the data store and hard drives
Hello
I am quite new to scripting, and recently, I created a monstrosity below.
The problem is with the results. I have no idea why in the results I get the name of the virtual machine and its data store over and over again until all disks are highlighted.
Any help will be very very much appreciated.
The script:
$raport = @)
Foreach ($i in (Get-Content "Y:\vms.txt"))
{
$rekord = «»
$vm = get-vm-name '$i '.
$dysk1 = $vm | Get-hard drive | where {$_.} Name - eq 'Disk 1'}
$datastore1 = $dysk1.filename.split("]") [0].split("[") [1]
$disks = $vm | Get-hard drive
{foreach ($disk in $disks)
$hd = «»
$disksize = ($disk. CapacityGB)
$hd += $disksize
{$rekord += $vm.name + ";" + $datastore1 + ";" + $hd}
$raport += $rekord
}
$raport | out-file 'Y:\dyski.csv '.
The results in csv:
VM1Name; datastoreName; 60; VM1Name:datastoreName; 50; VM1Name; datastoreName; 40
VM2Name; datastoreName; 45; VM2Name; datastoreName; 40
The results of dream in csv:
VM1Name; datastoreName; 60; 50 40
VM2Name; datastoreName; 45 40
etc.
Try like this
$raport = @)
Foreach ($i in (Get-Content "Y:\vms.txt"))
{
$rekord = «»
$vm = get-vm-name '$i '.
$disk = $vm | Get-hard drive
$datastore = ($disk | where {$_.}) Name - eq "disk 1" hard}).filename.split ("]") [0].split("[") [1].
$rekord = "$($vm.)". The name); $($datastore); $(($disk | sélectionnez-ExpandProperty CapacityGB)-join ' |') »
$raport += $rekord
}
$raport | out-file 'Y:\dyski.csv '.
-
I accidentally deleted the vmdk file that has my OS on it by pressing the "Delete selected items" button in the window of browser data store. Is there anyway to recover? I have a snapshot that doesn't seem to work. There is still the VMDK file in there, but it has now 'delta' be added at the end. Now I get an error message when I try to turn on my VM saying that he doesn't get the vmdk file, of course.
From the screen shots looks you have deleted only the descriptor hard files that can be recreated. To ensure this is the case, please provide a complete list of the files in the folder of the virtual machine and attach the last file.log of vmware(from the virtual work computer) to a post response to view required details.
André
-
What is a relationship between the data store and LUN?
Hello
I added 3 LUNS to a data store, but I can't list them since the MOB data store. Could someone tell me how to do it.
Thanks in advance.
Lee
LUNS was formatted as VMFS and created a data store? If not, it will not be displayed. You can search for available LUNS that can be used to create a VMFS with QueryAvailableDisksForVmfs volume
=========================================================================
William Lam
VMware vExpert 2009
Scripts for VMware ESX/ESXi and resources at: http://engineering.ucsb.edu/~duonglt/vmware/
Introduction to the vMA (tips/tricks)
Getting started with vSphere SDK for Perl
VMware Code Central - Scripts/code samples for developers and administrators
If you find this information useful, please give points to "correct" or "useful".
-
List virtual machines within a host, the data store and the specified how cluster?
Hello
I found the code shows but not able to understand. The exit is not what I want.Get-VM | Select Name, @{N="Cluster";E={Get-Cluster -Name "Site1UCSCluster01" }}, @{N="ESX Host";E={Get-VMHost -VM $_}},@{N="Datastore";E={Get-Datastore -VM $_}} |fl
But, the exit wrong that these virtual machines do not reside on Site1UCSCluster01:
Name : CBEDM Cluster : Site1UCSCluster01 ESX Host : Host1 Datastore : CBEDM-DS3-R5 Name : CBEDMTest Cluster : Site1UCSCluster01 ESX Host : Host2 Datastore : CBTEST-DS1-R5
Thanks for your help,
So try like this
$clusterName = "MyCluster" Get-Cluster -Name $clusterName | Get-VM | Select Name, @{N="Cluster";E={$clusterName}},@{N="ESX Host";E={Get-VMHost -VM $_ | Select -ExpandProperty Name}},@{N="Datastore";E={Get-Datastore -VM $_ | Select -ExpandProperty Name}} |fl
-
Script in time of latency list vm e/s and the data store the virtual machine is on
Hello. We have a vsphere 5.0 environment and we live a latency of IO heavy. I'm looking for powercli script will get the latency of i/o for each virtual machine and get the data store name, to what it is now. We will access our storage on optical fiber. I'm trying to get a good overview of the latency of IO in a nice view in a csv file. I found what could be a good basis to https://communities.vmware.com/thread/304827?start=0 & tstart = 0 , but I'm not sure how to get the name of the data store in the table and I think that it is written to the nfs in any case storage. Thanks in advance for any info\advice!
Try the next version, it includes the average latency time read/write for the virtual machine and PAHO are / s average for the virtual machine.
Since the CSV has a row for each data store, the values for the virtual machine are repeated.
I also added the host name
$vmName = "VM*" $stat = "datastore.totalReadLatency.average","datastore.totalWriteLatency.average", "datastore.numberReadAveraged.average","datastore.numberWriteAveraged.average"$entity = Get-VM -Name $vmName$start = (Get-Date).AddHours(-1) $dsTab = @{}Get-Datastore | Where {$_.Type -eq "VMFS"} | %{ $key = $_.ExtensionData.Info.Vmfs.Uuid if(!$dsTab.ContainsKey($key)){ $dsTab.Add($key,$_.Name) } else{ "Datastore $($_.Name) with UUID $key already in hash table" }} Get-Stat -Entity $entity -Stat $stat -Start $start |Group-Object -Property {$_.Entity.Name} | %{ $vmName = $_.Values[0] $VMReadLatency = $_.Group | where {$_.MetricId -eq "datastore.totalReadLatency.average"} | Measure-Object -Property Value -Average | Select -ExpandProperty Average $VMWriteLatency = $_.Group | where {$_.MetricId -eq "datastore.totalWriteLatency.average"} | Measure-Object -Property Value -Average | Select -ExpandProperty Average $VMReadIOPSAverage = $_.Group | where {$_.MetricId -eq "datastore.numberReadAveraged.average"} | Measure-Object -Property Value -Average | Select -ExpandProperty Average $VMWriteIOPSAverage = $_.Group | where {$_.MetricId -eq "datastore.numberWriteAveraged.average"} | Measure-Object -Property Value -Average | Select -ExpandProperty Average $_.Group | Group-Object -Property Instance | %{ New-Object PSObject -Property @{ VM = $vmName Host = $_.Group[0].Entity.Host.Name Datastore = $dsTab[$($_.Values[0])] Start = $start DSReadLatencyAvg = [math]::Round(($_.Group | where {$_.MetricId -eq "datastore.totalReadLatency.average"} | Measure-Object -Property Value -Average | Select -ExpandProperty Average),2) DSWriteLatencyAvg = [math]::Round(($_.Group | where {$_.MetricId -eq "datastore.totalWriteLatency.average"} | Measure-Object -Property Value -Average | Select -ExpandProperty Average),2) VMReadLatencyAvg = [math]::Round($VMReadLatency,2) VMWriteLatencyAvg = [math]::Round($VMWriteLatency,2) VMReadIOPSAvg = [math]::Round($VMReadIOPSAverage,2) VMWriteIOPSAvg = [math]::Round($VMWriteIOPSAverage,2) } }} | Export-Csv c:\report.csv -NoTypeInformation -UseCulture
-
Add the total size of data store and space remaining
Hi,
What would be the easist way to add the total datastore size and remaining datastore size to the following.
I do emphasise, esasiest, since I'm as green as can be to powercli, powershell for that matter. I'm trying to learn in babystepsGet - VM $VM | %{ $_. Name; ($_ | get-datastore | select name). Name}
At the moment I get day like this, I get to the above.
DataStoreName (Add info here on DS size?)
vmname
DataStoreName (Add info here on DS size?)
vmname
...
...
...
Thank you!!
The $_ represents the object that has been passed through pipeline (the ' |') of the previous cmdlet.
For example
Get - VM | %{$_. Name}
The cmdlet Get - VM will get all the VMs on the servers of vSphere to which you are connected.
The pipeline ('|) ') said these VM objects one by one to the following code.
In what is a Foreach-Object (alias is '%') who will send the name of the virtual machine (available in the variable $_) to the default output.
On a Select-Object cmdlet, you can select properties of the object that was passed through the pipeline, or you can use what is called a "calculated property. Such a calculated property consists of a pair of hash, name (N) and Expression.
Obviously, name is the name you want to give to this calculated property.
Expression is the block of code that must be executed.
For example
Get-Datastore. Select Name,@{N="CapacityGB; E={$_. CapacityMB/1 KB}}
All database objects are passed to the Select-Object cmdlet.
The Select cmdlet displays the name of the data store, and it will display a property called CapcityGB, which displays the ability to store data in GB.
Notice how the property CapacityMB that is present in the data store object is converted to GB by the code in the Expression block.
The part of the Expression has not always need to do something with a property of the object that was passed.
For example
Get - VM | Select Name, @{N = 'Current time'; E = {Get-Date}}
In this case the Select-Object cmdlet displays the Name property of the virtual computer object that has been sent.
And it will display the current time as the propertyname "current time".
This is an example of a calculated property that has nothing to with the object passed through the pipeline.
I hope that clarifies the code a bit.
-
I need to eager zero a virtual disk while building a virtual machine. I found the eagerZeroVirtualDisk_Task() under VcVirtualDiskManager function, which takes in 2 parameters:
name - (String) the name of the disk, is a path to the data store or a URL pointing to the virtual disk that needs to be inflated.
Data Center - (VcDatacenter) if the name is a path of data store, the data center for the path of the data store. Not necessary when called directly on ESX. If not specified on a call to VirtualCenter, the name must be a URL.
How can I get the correct path of data store given the virtual disk? I intend to iterate through the features of the virtual machine to get the disks.
Thank you!
Actually figured out how to get the path of the data store, and how a drive zeros. In case it is useful to share the code here:
var vimHost = vm.vimHost; VM instanceof VCVirtualMachine
var vDiskMgr = vimHost.virtualDiskManager;
for each disk
var features = vm.config.hardware.device;
for each {(dev var in devices)
dev.backing contains a lot of useful things...
If (dev instanceof VcVirtualDisk) {}
a disc!
var dsPath = dev.backing.fileName;
System.log ("path of disk:" + dsPath);
Data var Center =
System.getModule('com.vmware.library.vc.datastore').getDatacenterForDatastore (dev.backing.datastore);
var vcTask = vDiskMgr.eagerZeroVirtualDisk_Task (dsPath, datacenter);
wait
var waitResult =
System.getModule('com.vmware.library.vc.basic').vim3WaitTaskEnd (vcTask, true, 5);
}
}
-
Empty folders "masters" and "clones" on the data store
Clean an old data store, so I can get back to the place of SAN, I migrated all the models and virtual computers out of the data store (and deleted empty folders that leaves behind migration. (Grrr...). There are two empty folders left on this data store, called "clones" and "masters". Nobody here knows how they got there, but they look like type system. Anyone know if they are system files that may be moved or may be deleted? (Screen attached)
no system records, if they are empty it is safe to delete.
-
Combining the VM with files in the data store
I apologize for the very basic question.
I have a few ESXi servers and I need to associate each VM with the related directory inside the data store and each direxctory within the data with the associated directory store.
With the command:
SE connect-VIServer-Server 192.168.1.1 - user root - < password >
I connect with the server.
With the command
Get - vm
I get a list of all VM with the State and the amount of memory, the number of vCPU
- How can I get path for each computer listed virtual, to the related .vmx file?
- How to browse the data store, the list of the .vmx file and for each .vmx file, get the name of the associated virtual machine?
- What manual download to find the emanations of the arguments of the command get-vm and qualifying?
Concerning
Marius
The Get - VM by default displays a selection of properties.
You can ask all the properties
Get - VM | Select *.
or some specific
Get - VM | Select name, Description
You can even access the real object of the SDK VirtualMachine
Get - VM | Select Name,@{N="VMX; E={$_. Extensiondata.Config.Files.VmPathName}}
PowerCLI comes with a data store provider.
It is documented in the vSphere PowerCLI Admin Guide, which is installed with PowerCLI.
With the provider, you can list the files .vmx on data warehouses.
To find the name of the corresponding client, you will need to retrieve the DisplayName of the .vmx file field.
- How can I get path for each computer listed virtual, to the related .vmx file?
-
Dell virtual disk are larger. You want to increase the size of the data store.
Hello
I started the implementation of a server ESXi 5.5 Update 1 this week. I didn't know Dell shipped the server with two virtual disks instead of one. I realized this _apres_ that I had already created the data store and setup a few virtual machines to the breast. I called Dell who sent specific instructions to increase the removal of the second (empty) virtual disk and add it to the main. In the end, I increased the single VD from 2 TB to 3 TB and I want to give the remaining space in my store of data.
I tried to follow the article here that explains how to do this via the CLI.
Well, he did not altogether. Fortunately, I was able to recover my datastore my setting start and end sectors to their original numbers. But I'm still left with this almost 1 TB of space that I can not attribute to the data store. After that I reread storage adapters in the client, the new Dell disk size resulted under measurement devices. Click on "increase...". ", generates the following error which led me on the way to the CLI method:
Call "HostDatastoreSystem.QueryAvailableDisksForVmfs" to object "ha-datastoresystem" on ESXi '[myservername]' failed.
I will paste my notes that I took everything by jobs. Things have exploded the rails when I put 4 partition size to the largest size. Any help, please?
---
I use that as a guide:
1 use start hardware device management tools to increase the capacity of additional disk to the device. For more information, commit your hardware provider.
This has been done. The new size of the virtual disk is 2791,88 GB (TB 2,79188)
2. open a console to the ESXi host.
Pretty simple.
3. get the DeviceID for the data store to change.
~ # vmkfstools Pei "/ vmfs/volumes/datastore1 / '.
System file VMFS-5, 60 extending on 1 partition.
File system label (if applicable): datastore1
Mode: public
Capacity 1971926859776 (blocks of files 1880576 * 1048576), 1042688245760 (994385 blocks) prevail, max size of the 69201586814976 file
UUID: 534e5121 - 4450-19dc-f8bc1238e18a 260d
Partitions split (on 'lvm'):
NAA.6c81f660ef0d23001ad809071096d28a:4
A couple of things to note:
a. the device for Datastore1 ID is: naa.6c81f660ef0d23001ad809071096d28a
b. the number of Partition on the disk is: 4 ' [...]: 4 "»
c. the prefix, "naa," means "Network address authority" the number immediately after is a single logical unit number.
4. Enter the amount of disk space available on the data store.
~ # df h
Size of filesystem used available use % mounted on
VMFS-5 1. 8T 865.4 G 971,1 G 47% / vmfs/volumes/datastore1
5 team of the device identifier, to identify the existing partitions on the device by using the partedUtil command.
~ # partedUtil get ' / vmfs/devices/disks/naa.6c81f660ef0d23001ad809071096d28a '.
364456 255 63 5854986240
1 63 80324 222 0
2 80325 8466884 6 0
3 8466885 13709764 252 0
4 13711360 3865468766 251 0
~ #
According to the table in article KB
4 13711360 3865468766 251 0 - primary #4, type 251 = 0xFB = VMFS, 13711360-3865468766 areas
| | | | |
| | | | \---attribut
| | | \---type
| | \---se finishing sector
| \---a starting from sector
partition \---Numero
Also note how the number of section start the old end sector number is + 1.
6 identify the partitions that need to be resized and the size of the space to use.
We want to resize partition 4. I don't really understand the last part of this sentence, however. Read more.
7 the number of sector end you want for the target data store VMFS partitions. To use all out at the end of the disc space, remove 1 of the size of the disk in the areas as described in step 5 in order to get the last usable area.
ESXi 5.x has a command to do this:
~ # partedUtil getUsableSectors "/ vmfs/devices/disks/naa.6c81f660ef0d23001ad809071096d28a".
1 5854986239
This means that we want 4 Partition of "naa.6c81f660ef0d23001ad809071096d28a" to be:
13711360 - 5854986239 (i.e. the end of the disc)
8 resize the partition containing the target VMFS Datastore using the command partedUtil, specifying the original existing partition and the desired end sector:
Using the above information, our command is:
resize # partedUtil ' / vmfs/devices/disks/naa.6c81f660ef0d23001ad809071096d28a ' 4 13711360 5854986239
9 step 8, the partedUtil command can report the warning:
He did not. Displacement.
10. the tables of partitions have been adjusted, but the VMFS data within the partition store is always the same size. Now there is an empty space in the partition where the VMFS data store can be grown.
11 launch this v vmkfstools command to perform a refresh for VMFS volumes.
Fact.
12 reach the VMFS Datastore in the new space using the command - growfs vmkfstools, specifying the partition containing the VMFS Datastore target twice.
vmkfstools - growfs ' / vmfs/devices/disks/naa.6c81f660ef0d23001ad809071096d28a:4 ' ' / vmfs/devices/disks/naa.6c81f660ef0d23001ad809071096d28a:4 '.
It did not work. I got an error:
/ vmfs/volumes # vmkfstools - growfs ' / vmfs/devices/disks/naa.6c81f660ef0d23001ad809071096d28a:4 ' /vmfs/devices/disks/naa.6c81f660ef0d «»
23001ad809071096d28a:4 ".
Cannot get device head way /dev/disks/naa.6c81f660ef0d23001ad809071096d28a:4 information
Also the partition was very different to what I asked:
~ # partedUtil get ' / vmfs/devices/disks/naa.6c81f660ef0d23001ad809071096d28a '.
364456 255 63 5854986240
1 63 80324 222 0
2 80325 8466884 6 0
3 8466885 13709764 252 0
4 13711360 1560018942 251 0
I fixed it by running these commands:
~ # partedUtil resize ' / vmfs/devices/disks/naa.6c81f660ef0d23001ad809071096d28a ' 4 13711360 3865468766
~ # vmkfstools v
~ # partedUtil get ' / vmfs/devices/disks/naa.6c81f660ef0d23001ad809071096d28a '.
364456 255 63 5854986240
1 63 80324 222 0
2 80325 8466884 6 0
3 8466885 13709764 252 0
4 13711360 3865468766 251 0
Update:
Since it was such a new machine, not in active production, we have safeguarded the VMs management off the ESXi host. Then flattened the virtual disk, recreated, and then created a store of data with the right size. (TPG this time, naturally.) We put the management of virtual machines on the data store. For Windows virtual machines, we have restored the using AppAssure. Everything is ok now.
Need to add a new item to the list of punch: check what Dell has done the configuration of the virtual disks. :-)
-
Impossible to disassemble the data store
Hello
I am getting below error when I was trying to United Nations set up the data store.
Call "HostDatastoreSystem.RemoveDatastore" of object "datastoreSystem-15" on VCenter Server failed. ' "
It seems there are two file inside the data store and I was not able to delete it also. This swap for old file
models which does not exist now.Please let me know how I can remove this file from the shell of ESXi forcefully command so that I could not get the data store.
Kind regards
Hakim. B
Check if it has deployed VM from this template and set the swapfile strategy to stay with the Virtual Machine. See also, if you are able to delete other files vswp with this command:
rm - rf new model - 8d25d1fe.vswp
Maybe you are looking for
-
Sometimes when you use Hotmail - specifically, put the cursor in the e-mail box - Mac color wheel starts to turn. It is quickly followed by the entire screen goes black for a few moments. This is followed by the screen back, but the background changi
-
Satellite Pro M10 - possibility to change the graphics card?
Hello is it possible to change the graphic card with a new generation? My only, a 32 MB GeForce4 420 Go makes problems on some games because the requirement is 64 MB minimum. If, in case of purchase (Germany) and which is compatible? Thank you! Andre
-
Lexmark X 5650 and Vista Basic
Hello The first time here and do not know a lot of calculation so hoping someone can help. My Lexmark scan and then says: could not create the document as a program is missing. It does not say what kind of program and I have tried everything I can to
-
BlackBerry Smartphones blackBerry 9360 Signal problem
The problem started a few days ago a triangle stood next to my provider name. And since then, I have been unable to receive calls, to call, to receive sms and calls. Sometimes, the triangle disappears and I have some certain signals. So, what should
-
How to get my account hotmail reset reset when I lost my key recovery and factor two app
I have a Hotmail.com account. I forgot my password and reset it. He then asked if I wanted to sign to two factors. I said yes. In the meantime, I lost the recovery key and the phone that had the soft recovery went even if a master reboot. So I made t