eflow-util/updateWssdCert.ps1 (29 lines of code) (raw):
# Check for admin privilege first before proceeding...
If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(`
[Security.Principal.WindowsBuiltInRole]::Administrator)) {
Write-Host "Ensure to tun this PowerShell module in Administrator mode!" -ForegroundColor "Red"
return
}
Write-Host "Stopping WSSDAgent service"
Stop-Service wssdagent
Remove-Item -Force -Path "HKLM:SOFTWARE\Microsoft\WssdAgent\v0.10.8-alpha.10\CertificateInternal"
Remove-Item -Force -Path "HKLM:SOFTWARE\Microsoft\WssdAgent\v0.10.8-alpha.10\IdentityInternal"
Write-Host "Restarting WSSDAgent service"
Start-Service wssdagent
Start-Sleep 10
Remove-Item -Recurse -Force -Path "$env:UserProfile\.wssd\nodectl"
& "$env:ProgramFiles\Azure IoT Edge\nodectl.exe" security login --loginpath "$env:Programdata\wssdagent\nodelogin.yaml" --identity
Start-Sleep 15
Copy-Item -Path "$env:UserProfile\.wssd\nodectl\cloudconfig" -Destination "$env:Programdata\azure iot edge\protected\.wssd\cloudconfig" -Force
Remove-Item -Recurse -Force -Path "$env:UserProfile\.wssd\nodectl"
try
{
Invoke-EflowVmCommand "ls -la"
Write-Host "Connection to EFLOW VM successful."
}
catch [Exception]
{
Write-Host "Error caught while invoking VM command"
$e = $_.Exception
Write-Host $e.Message.ToString()
}