2015-04-27 1 views
3

J'ai un fichier vmConfig. Je veux changer le sous-réseau et l'adresse IP car je veux créer une nouvelle VM hors du fichier de configuration dans le nouveau sous-réseau, reste toutes les configurations n'ont pas besoin d'être changé. Je peux éditer manuellement le contenu du fichier XML, mais je veux le faire via PowerShell afin que je puisse avoir un processus automatisé pour tout.Modifier le fichier VMConfig à l'aide d'un transparent azur

Voici l'échantillon vmConfig xml-

<?xml version="1.0" encoding="utf-8"?> 
<PersistentVM xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <ConfigurationSets> 
    <ConfigurationSet xsi:type="NetworkConfigurationSet"> 
     <ConfigurationSetType>NetworkConfiguration</ConfigurationSetType> 
     <InputEndpoints> 
     <InputEndpoint> 
      <LocalPort>5986</LocalPort> 
      <Name>PowerShell</Name> 
      <Port>64929</Port> 
      <Protocol>tcp</Protocol> 
      <Vip>191.237.20.225</Vip> 
      <EnableDirectServerReturn>false</EnableDirectServerReturn> 
      <IdleTimeoutInMinutes xsi:nil="true" /> 
     </InputEndpoint> 
     </InputEndpoints> 
     <SubnetNames> 
     <string>mysubnet</string> 
     </SubnetNames> 
     <StaticVirtualNetworkIPAddress>12.13.14.15</StaticVirtualNetworkIPAddress> 
     <PublicIPs /> 
     <NetworkInterfaces /> 

Je suis intéressé en ne changeant que l'adresse IP et sous-réseau.

Répondre

2

Il s'agit essentiellement d'une analyse XML utilisant powershell. J'espère que cela devrait fonctionner pour vous-

$path = 'C:\myFolder\XmlVM.xml' 
[xml]$myXML = Get-Content $path 
$myXML.PersistentVM.ConfigurationSets.ConfigurationSet.SubnetNames.string="MYNEWSUBNET" 
$myXML.PersistentVM.ConfigurationSets.ConfigurationSet.StaticVirtualNetworkIPAddress="10.11.14.115" 
$myXML.Save($path) 
+0

Good One Mr Atf. –