Alvast bedankt voor het lezen van mijn topic.
Een keer per maand willen we snapshots maken van alle productie servers.
Hiervoor hebben wij binnen Dell Kace een aantal patching groepen gedefinieerd.
Bijvoorbeeld Domain Controllers, Fileservers, SQL servers etc.
Per groep trappen we een powershell script af die voor ons snapshots maakt. Klinkt prima toch?
Het script werkt wel in ieder geval maar is onbetrouwbaar als je meer dan 5 snapshots maakt per keer.
Ik denk te weten waarom het script niet altijd 100% werkt.
Per keer dat het script draait wordt er een powershell session gemaakt en een process genaamd wsmprovhost.exe. Powershell kan een maximum van 5 sessies.
Per process wordt er 150Mb memory gebruikt. Dit process draait het script maar het process wordt nooit gestopt. Dit zorgt ervoor dat als er ongeveer 50 snapshots gemaakt worden, het geheugen vol loopt.
Eigenlijk gebruiken wij twee scripts:
Eerste script om het tweede script onder een andere gebruiker te draaien.
Tweede script om de VMware snapshots te maken.
Dus heeft er iemand een manier om me te helpen?
Of heeft er iemand al een script om dit te doen?
Een keer per maand willen we snapshots maken van alle productie servers.
Hiervoor hebben wij binnen Dell Kace een aantal patching groepen gedefinieerd.
Bijvoorbeeld Domain Controllers, Fileservers, SQL servers etc.
Per groep trappen we een powershell script af die voor ons snapshots maakt. Klinkt prima toch?
Het script werkt wel in ieder geval maar is onbetrouwbaar als je meer dan 5 snapshots maakt per keer.
Ik denk te weten waarom het script niet altijd 100% werkt.
Per keer dat het script draait wordt er een powershell session gemaakt en een process genaamd wsmprovhost.exe. Powershell kan een maximum van 5 sessies.
Per process wordt er 150Mb memory gebruikt. Dit process draait het script maar het process wordt nooit gestopt. Dit zorgt ervoor dat als er ongeveer 50 snapshots gemaakt worden, het geheugen vol loopt.
Eigenlijk gebruiken wij twee scripts:
Eerste script om het tweede script onder een andere gebruiker te draaien.
Tweede script om de VMware snapshots te maken.
code:
1
2
3
4
5
6
| $User="domain\username" $Pass = ConvertTo-SecureString "Password" -AsPlainText -Force $Credentials = New-Object System.Management.Automation.PSCredential -ArgumentList $User,$Pass $LocalName=gc env:computername Invoke-Command -ComputerName ComputerName -FilePath SnapNow.ps1 -ArgumentList $LocalName -Credential $credentials |
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| Add-PsSnapin VMware.VimAutomation.Core
$vc = "vCenterServerName.domain"
Connect-VIServer -server $vc -user domain\user -password Password
$path = "path\logfile.txt"
$today = get-date -format g
$today_str = (get-date).tostring('yyyy-MM-dd')
if(!(Test-Path -Path $path))
{
$logfile = New-Item -type file $path -force
}
foreach ($arg in $args)
{
$VM = Get-VM -name $arg
Add-Content $path "$today $VM"
Try{New-Snapshot -VM $VM -Name "MW $today_str" -Description "Auto MW Snap on $today_str"}
Catch{$_.exception | select *; add-content $path "$today $VM Failed!";}
}
Disconnect-VIServer -server $vc -Confirm:$False -Force
Remove-PsSession -session (Get-PsSession) |
Dus heeft er iemand een manier om me te helpen?
Of heeft er iemand al een script om dit te doen?