{"id":388,"date":"2015-09-07T18:21:07","date_gmt":"2015-09-07T17:21:07","guid":{"rendered":"http:\/\/snakenet.eu\/blog\/?p=388"},"modified":"2016-09-13T15:52:06","modified_gmt":"2016-09-13T14:52:06","slug":"identifier-le-port-reseau-sur-lequel-est-connecte-un-esx","status":"publish","type":"post","link":"https:\/\/snakenet.eu\/blog\/identifier-le-port-reseau-sur-lequel-est-connecte-un-esx\/388\/","title":{"rendered":"Identifier le port r\u00e9seau sur lequel est connect\u00e9 un ESX"},"content":{"rendered":"<p>Bonjour,<\/p>\n<p>Si, comme moi, vous ne savez pas \u00ab\u00a0vraiment\u00a0\u00bb sur quel switch, ni quel port se trouve connect\u00e9 la vmnic de votre ESX ET que votre switch ne supporte pas CDP, mais LLDP, voici un script maison qui va vous donner l&rsquo;info.<\/p>\n<p>Mon script lance une capture d&rsquo;une trame sp\u00e9cifique \u00e9mise par le switch sur chaque porte afin de faire un inventaire.<br \/>\nL&rsquo;info est sauv\u00e9e dans un datastore connu de tous les ESXs (plus facile pour r\u00e9cup\u00e9rer l&rsquo;info)<\/p>\n<p>Pr\u00e9requis :<\/p>\n<ul>\n<li>un acc\u00e8s ROOT sur chaque ESX<\/li>\n<li>Une connexion via SSH possible sur la console<\/li>\n<li>Un datastore commun \u00e0 tous les ESXs<\/li>\n<\/ul>\n<p>La cr\u00e9ation du tableau de correspondance ESX &lt;&gt; mot de passe ROOT<\/p>\n<p><code>$ESXs =@{'ESX01' ='abc123'}<br \/>\n$ESXs+=@{'ESX02' ='def456'}<br \/>\n<\/code><br \/>\nLe script :<\/p>\n<p><code>get-datacenter \"MON DataCenter\" | get-vmhost | foreach {<br \/>\n$esx=$_.name<br \/>\n$password=$ESXs.Get_Item($_.name)<br \/>\n$_ | Get-VirtualSwitch | select -expandproperty nic| foreach {<br \/>\n$vmnic=$_ <\/code><\/p>\n<p>$file=\u00a0\u00bbC:\\temp\\$esx-$vmnic.sh\u00a0\u00bb<br \/>\n&lsquo;ps | grep \u00ab\u00a0pkt\u00a0\u00bb | awk \u00a0\u00bb{ print $1 }\u00a0\u00bb | kill&rsquo; | out-file $file -Encoding ascii<br \/>\n\u00ab\u00a0pktcap-uw &#8211;uplink $vmnic &#8211;ethtype 0x88cc -c 1 -o \/tmp\/$vmnic \u00a0\u00bb | out-file $file -append -Encoding ascii<br \/>\n&lsquo;FEX=`hexdump -e \u00ab\u00a0500 \\\u00a0\u00bb%_p\\\u00a0\u00bb \\\u00a0\u00bb\\\\n\\\u00a0\u00bb\u00a0\u00bb \/tmp\/&rsquo;+$vmnic+&rsquo; | cut -b 67-77`&rsquo; | out-file $file -append -Encoding ascii<br \/>\n&lsquo;echo `hostname`,&rsquo;+$vmnic+&rsquo;,$FEX &gt;&gt; \/vmfs\/volumes\/MonDatastore\/vmnicInventory.csv&rsquo; | out-file $file -append -Encoding ascii<br \/>\n\u00ab\u00a0putty.exe $esx -l root -pw $password -m C:\\temp\\$esx-$vmnic.sh\u00a0\u00bb<br \/>\nputty.exe $esx -l root -pw $password -m C:\\temp\\$esx-$vmnic.sh | out-null<br \/>\n}<br \/>\n}<\/p>\n<p>Si tout se passe bien, vous vous retrouvez avec un super fichier texte avec toutes les infos.<\/p>\n<p>NB : J&rsquo;affiche dans la console la ligne de commande que j&rsquo;execute, car il m&rsquo;est d\u00e9j\u00e0 arriv\u00e9 de voir \u00ab\u00a0putty\u00a0\u00bb planter en pleine collecte. Plut\u00f4t que de tout relancer, je ne lance que la commande qui a plant\u00e9.<br \/>\nNB2 : Je ne lance pas toutes les collectes en m\u00eame temps, car il peux arriver que 2 commandes veuillent \u00e9crire en m\u00eame temps et alors, ca plante. C&rsquo;est plus lent, mais plus sur.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bonjour, Si, comme moi, vous ne savez pas \u00ab\u00a0vraiment\u00a0\u00bb sur quel switch, ni quel port se trouve connect\u00e9 la vmnic de votre ESX ET que votre switch ne supporte pas CDP, mais LLDP, voici un script maison qui va vous donner l&rsquo;info. Mon script lance une capture d&rsquo;une trame sp\u00e9cifique \u00e9mise par le switch sur [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[58,3,59,44,14],"tags":[],"class_list":["post-388","post","type-post","status-publish","format-standard","hentry","category-powershell","category-reseau","category-reseau-vmware","category-scripting","category-vmware"],"_links":{"self":[{"href":"https:\/\/snakenet.eu\/blog\/wp-json\/wp\/v2\/posts\/388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/snakenet.eu\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/snakenet.eu\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/snakenet.eu\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/snakenet.eu\/blog\/wp-json\/wp\/v2\/comments?post=388"}],"version-history":[{"count":6,"href":"https:\/\/snakenet.eu\/blog\/wp-json\/wp\/v2\/posts\/388\/revisions"}],"predecessor-version":[{"id":512,"href":"https:\/\/snakenet.eu\/blog\/wp-json\/wp\/v2\/posts\/388\/revisions\/512"}],"wp:attachment":[{"href":"https:\/\/snakenet.eu\/blog\/wp-json\/wp\/v2\/media?parent=388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/snakenet.eu\/blog\/wp-json\/wp\/v2\/categories?post=388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/snakenet.eu\/blog\/wp-json\/wp\/v2\/tags?post=388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}