{"id":320,"date":"2014-07-16T15:54:03","date_gmt":"2014-07-16T14:54:03","guid":{"rendered":"http:\/\/snakenet.eu\/blog\/?p=320"},"modified":"2016-01-29T12:11:53","modified_gmt":"2016-01-29T11:11:53","slug":"vmware-savoir-si-vshield-est-installe-au-sein-dune-vm","status":"publish","type":"post","link":"https:\/\/snakenet.eu\/blog\/vmware-savoir-si-vshield-est-installe-au-sein-dune-vm\/320\/","title":{"rendered":"VMWare &#8211; Savoir si vShield est install? au sein d&rsquo;une VM."},"content":{"rendered":"<p>La m?thode longue consiste ? se connecter sur chaque VM, et a executer ce qui suit :<\/p>\n<p><code>First thing is to log onto the virtual machine and open up msinfo32 via the run prompt (start &gt; run &gt; msinfo32).<br \/>\nExpand ?Software Environment? and then ?System Drivers?<br \/>\nWithin this list you?re looking for vsepflt as shown below:<\/code><\/p>\n<p>La m?thode automatis?e :<br \/>\nPensez ? d?sactiver votre proxy de Internet Explorer (oui, je sais, c&rsquo;est ?trange, et je n&rsquo;ai ni le temps, ni l&rsquo;envie de rentrer dans les d?tails)<\/p>\n<p><code>$credentials=Get-Credential<br \/>\n$VMStatus=Get-VM | Where-Object { $_.PowerState -eq \"PoweredOn\" -and $_.Guest.OSFullName -match \"WinDows\" } | ForEach-Object {<br \/>\n$obj=New-Object PSObject<br \/>\n$obj | add-Member Noteproperty -name Name -value $_.name<br \/>\n#? $obj | add-Member Noteproperty -name vShield -value? (Invoke-VMScript -VM $_.name -ScriptType Bat -ScriptText 'driverquery | find \/i \"vsepflt\"' -GuestCredential $credentials -ErrorAction Continue | Select-Object -ExpandProperty ScriptOutput)<br \/>\n$obj | add-Member Noteproperty -name ToolsVersion -value $_.ToolsVersion<br \/>\n$obj | add-Member Noteproperty -name ToolsVersionStatus -value $_.ToolsVersionStatus<br \/>\n$obj | add-Member Noteproperty -name SnapShotCount -value ($_ | Get-Snapshot | Measure-Object | select -ExpandProperty Count )<br \/>\n$obj | add-Member Noteproperty -name SnapShotInfo -value ($_ | Get-Snapshot | select VM,Created, SizeGB, IsCurrent, Name |Out-String )<br \/>\n$obj<br \/>\n}<br \/>\n$VMStatus | out-gridview<\/code><\/p>\n<p>Si vous avez le m?me bug que moi, cad, que le re-enregistrement des adresses IP dans le DNS echoue et que le DNS se retrouve vide : http:\/\/support.microsoft.com\/default.aspx?scid=kb;EN-US;2520155<br \/>\nPour mettre a jour de maniere pseudo-automatis?e le parc<\/p>\n<p><code>$credentials=Get-Credential<\/code><\/p>\n<p>Get-VM | Where-Object { $_.PowerState -eq \u00ab\u00a0PoweredOn\u00a0\u00bb -and $_.Guest.OSFullName -match \u00ab\u00a0WinDows\u00a0\u00bb -and ($_ | get-snapshot | Measure-Object | select -ExpandProperty Count ) -eq 0 } | foreach {<br \/>\nGet-VM -name svMGTTST01 | foreach {<br \/>\n# ping to check if VM is pinguable<br \/>\nif (Test-Connection $_.name -ErrorAction SilentlyContinue ) { write-host \u00ab\u00a0Ping to $_ : OK\u00a0\u00bb -foregroundcolor green } else { write-host \u00ab\u00a0Ping to $_ : Failed\u00a0\u00bb -foregroundcolor red }<br \/>\n# Take snapshot<br \/>\nNew-Snapshot -vm $_.name -Name \u00ab\u00a0Avant VMWare Tools et vShield\u00a0\u00bb -Description \u00ab\u00a0VM avant execution du script automatique\u00a0\u00bb -Memory:$true -Quiesce:$true -Confirm:$false<br \/>\n# Update tools<br \/>\n$_ | Get-View | foreach { $_.Guest.ToolsVersion }<br \/>\n$_ | Mount-Tools<br \/>\n# Copy BAT file<br \/>\n$DestinationFIle=\u00a0\u00bb\\\\\u00a0\u00bb+(($_|get-view).Guest.HostName)+\u00a0\u00bb\\c$\\UpdateVMwareToolsManually.cmd\u00a0\u00bb<br \/>\nCopy-Item -Path &lsquo;C:\\Users\\Moi\\Desktop\\Scripts\\VMwareTOols\\UpdateVMwareToolsManually.cmd&rsquo; -Destination $DestinationFile<br \/>\nInvoke-VMScript -VM $_.name -ScriptType Bat -ScriptText &lsquo;C:\\UpdateVMwareToolsManually.cmd&rsquo; -GuestCredential $credentials | Select-Object ScriptOutput<br \/>\nRemove-Item $DestinationFile<\/p>\n<p># unmount<br \/>\n$_ | Wait-Tools<\/p>\n<p>if ( (get-vm svMGTTST01 | Get-CDDrive ).isoPath.Equals(\u00ab\u00a0[] \/usr\/lib\/vmware\/isoimages\/windows.iso\u00a0\u00bb) -eq $true ) { write-host \u00ab\u00a0CD still mounted. Problem detected\u00a0\u00bb -foregroundcolor red }<\/p>\n<p># Not necessary. Correct update unmount CDROM.<br \/>\n# $_ | Dismount-Tools<\/p>\n<p>$_ | Get-View | foreach { $_.Guest.ToolsVersion }<\/p>\n<p># ping to check if VM is still pinguable<br \/>\nif (Test-Connection $_.name -ErrorAction SilentlyContinue ) { write-host \u00ab\u00a0Ping to $_ : OK\u00a0\u00bb -foregroundcolor green } else { write-host \u00ab\u00a0Ping to $_ : Failed\u00a0\u00bb -foregroundcolor red }<\/p>\n<p># delete snapshot<br \/>\n$_ | Get-Snapshot -Name \u00ab\u00a0Avant VMWare Tools et vShield\u00a0\u00bb | Remove-Snapshot -Confirm:$true<br \/>\n}<\/p>\n<p>Et le script ? envoyer sur chaque VM:<\/p>\n<p><code>SETLOCAL ENABLEDELAYEDEXPANSION<\/code><\/p>\n<p>REM Usage : perform VMWareTools Assisted update and DNS registration<br \/>\nREM http:\/\/support.microsoft.com\/default.aspx?scid=kb;EN-US;2520155<br \/>\n(<br \/>\ndate \/t<br \/>\ntime \/t<\/p>\n<p>set DriveLetter=unknown<br \/>\nfor %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do? ( if exist %%a:\\VMwareToolsUpgrader.exe if exist %%a:\\certified.txt set DriveLetter=%%a)<br \/>\necho DriveLetter : !DriveLetter!<\/p>\n<p>REM check current version of vShield<br \/>\ndriverquery | find \/i \u00ab\u00a0vsepflt\u00a0\u00bb<\/p>\n<p>!DriveLetter!:\\Setup.exe \/S \/v \u00ab\u00a0\/qn REBOOT=R ADDLOCAL=ALL REMOVE=Hgfs\u00a0\u00bb<br \/>\nipconfig \/registerdns<\/p>\n<p>REM check new version of vShield<br \/>\ndriverquery | find \/i \u00ab\u00a0vsepflt\u00a0\u00bb<\/p>\n<p>date \/t<br \/>\ntime \/t<br \/>\n) &gt;&gt; C:\\UpdateVMwareToolsManually.log 2&gt;&amp;1<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La m?thode longue consiste ? se connecter sur chaque VM, et a executer ce qui suit : First thing is to log onto the virtual machine and open up msinfo32 via the run prompt (start &gt; run &gt; msinfo32). Expand ?Software Environment? and then ?System Drivers? Within this list you?re looking for vsepflt as shown [&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,44,14],"tags":[],"class_list":["post-320","post","type-post","status-publish","format-standard","hentry","category-powershell","category-scripting","category-vmware"],"_links":{"self":[{"href":"https:\/\/snakenet.eu\/blog\/wp-json\/wp\/v2\/posts\/320","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=320"}],"version-history":[{"count":6,"href":"https:\/\/snakenet.eu\/blog\/wp-json\/wp\/v2\/posts\/320\/revisions"}],"predecessor-version":[{"id":327,"href":"https:\/\/snakenet.eu\/blog\/wp-json\/wp\/v2\/posts\/320\/revisions\/327"}],"wp:attachment":[{"href":"https:\/\/snakenet.eu\/blog\/wp-json\/wp\/v2\/media?parent=320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/snakenet.eu\/blog\/wp-json\/wp\/v2\/categories?post=320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/snakenet.eu\/blog\/wp-json\/wp\/v2\/tags?post=320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}