I have a script to check validation of images and the script works fine when I locally run on each image. But when I ran the below script via automation tool " Jenkins"it is not running on remote machine, behalf of that it runs on same machine where jenkins tool installed.
Can any one let me know is there any change need to be done on the script when I try running this script on a remote server ?
$reportpath = ".\Report.htm" if((test-path $reportpath) -like $false){new-item $reportpath -type file}###############################HTml Report Content############################$report = $reportpathClear-Content $report Add-Content $report "<html>" Add-Content $report "<head>" Add-Content $report "<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>" Add-Content $report '<title>AD Status Report</title>' add-content $report '<STYLE TYPE="text/css">' add-content $report "<!--" add-content $report "td {" add-content $report "font-family: Calibri;" add-content $report "font-size: 13px;" add-content $report "border-top: 0px solid #999999;" add-content $report "border-right: 0px solid #999999;" add-content $report "border-bottom: 0px solid #999999;" add-content $report "border-left: 0px solid #999999;" add-content $report "padding-top: 0px;" add-content $report "padding-right: 0px;" add-content $report "padding-bottom: 0px;" add-content $report "padding-left: 5px;" add-content $report "}" add-content $report "building {" add-content $report "margin-left: 5px;" add-content $report "margin-top: 5px;" add-content $report "margin-right: 0px;" add-content $report "margin-bottom: 10px;" add-content $report "" add-content $report "table {" add-content $report "border: thin solid #000000;" add-content $report "}" add-content $report "-->" add-content $report "</style>" Add-Content $report "</head>" Add-Content $report "<building>" add-content $report "<table width='40%'>" add-content $report "<tr bgcolor='blue'>" add-content $report "<td colspan='7' height='40' align='center'>" add-content $report "<font face='Calibri' color='white' size='4'><strong>Windows Image Validation Report</strong></font>" add-content $report "</td>" add-content $report "</tr>" add-content $report "</table>" add-content $report "<table width='40%'>" Add-Content $report "<tr bgcolor='#0B0B3B' height='30'>" Add-Content $report "<td width='2%' align='center'><B><font face='Calibri' color='white' size='4'><strong>SL No.</strong></font></B></td>"Add-Content $report "<td width='7%' align='center'><B><font face='Calibri' color='white' size='4'><strong>Item</strong></font></B></td>" Add-Content $report "<td width='9%' align='center'><B><font face='Calibri' color='white' size='4'><strong>Result</strong></font></B></td>"Add-Content $report "</tr>" $ComputerName = (Get-WmiObject -Class Win32_ComputerSystem -Property Name).NameAdd-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>1</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B> Computername</B></td>" Add-Content $report "<td bgcolor= 'Aquamarine' height='30' align=left><B>$ComputerName</B></td>"Add-Content $report "</tr>"#Image Name & Image Share===================================================================================================================================if (Test-Path "C:\Windows\ImageLog.ini"){$Image1 = Get-Content C:\Windows\ImageLog.ini | Select-String -Pattern "Image Name:"; $Image2 = $Image1.ToString();$ImageName = $Image2.Split(":")[1].Trim() if ($ImageName -eq $null) {$Image1 = Get-Content C:\Windows\ImageLog.ini | Select-String -Pattern "Appstack Name:"; $Image2 = $Image1.ToString();$ImageName = $Image2.Split(":")[1].Trim()}$Share1 = Get-Content C:\Windows\ImageLog.ini | Select-String -Pattern "ImageShare:"; $Share2 = $Share1.ToString();$ShareName = $Share2.Split(":")[1].Trim()}if (Test-Path "c:\WinPEDeploy.log"){$Image1 = Get-Content c:\WinPEDeploy.log | Select-String -Pattern "Selected Image:"; $Image2 = $Image1.ToString();$ImageName = $Image2.Split(":")[1].Trim()$Share1 = Get-Content c:\WinPEDeploy.log | Select-String -Pattern "Image Server:"; $Share2 = $Share1.ToString();$ShareName = $Share2.Split(":")[1].Trim()}#Image Name ================================================================================================================================================if ($ImageName -eq $null){$ImageName = "Unavailable"Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>2</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B> ImageName</B></td>" Add-Content $report "<td bgcolor= 'red' height='30' align=left><B>$ImageName</B></td>"Add-Content $report "</tr>"}else{Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>2</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B> ImageName</B></td>" Add-Content $report "<td bgcolor= 'Aquamarine' height='30' align=left><B>$ImageName</B></td>"Add-Content $report "</tr>"}#Image Share==============================================================================================================================================if ($ShareName -eq $null){$ShareName = "Unavailable"Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>3</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>Image Server Used</B></td>" Add-Content $report "<td bgcolor= 'red' height='30' align=left><B>$ShareName</B></td>"Add-Content $report "</tr>"}else{Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>3</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>Image Server Used</B></td>" Add-Content $report "<td bgcolor= 'Aquamarine' height='30' align=left><B>$ShareName</B></td>"Add-Content $report "</tr>"}#KMS Server Name===========================================================================================================================================$KMS = reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "KeyManagementServiceName"| select-String -Pattern "KeyManagementServiceName" | Out-String$KMSServer = $KMS.trim().Split("")[8]if ($KMSServer -eq $null){$KMSServer = "Unavailable"Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>4</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>KMS Server</B></td>" Add-Content $report "<td bgcolor= 'red' height='30' align=left><B>$KMSServer</B></td>"Add-Content $report "</tr>"}else{Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>4</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>KMS Server</B></td>" Add-Content $report "<td bgcolor= 'Aquamarine' height='30' align=left><B>$KMSServer</B></td>"Add-Content $report "</tr>"}#Windows Activation Status========================================================================================================================================$License = "cscript c:\windows\system32\slmgr.vbs /dli | find /I " + '"License Status:"'$LIC = Invoke-Expression ($License) ; $Activated = $LIC.Split(":")[1].trim()if ($Activated -eq $null){$Activated = "Unavailable"Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>5</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>OS Activation Status</B></td>" Add-Content $report "<td bgcolor= 'red' height='30' align=left><B>$Activated</B></td>"Add-Content $report "</tr>"}else{Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>5</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>OS Activation Status</B></td>" Add-Content $report "<td bgcolor= 'Aquamarine' height='30' align=left><B>$Activated</B></td>"Add-Content $report "</tr>"}#Part Of Domain===================================================================================================================================================if ((gwmi win32_computersystem).partofdomain -eq $true) {$DomainMember = "Yes" Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>6</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>Is Part of Domain</B></td>" Add-Content $report "<td bgcolor= 'Aquamarine' height='30' align=left><B>$DomainMember</B></td>"Add-Content $report "</tr>"} else {$DomainMember = "NO"Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>6</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>Is Part of Domain</B></td>" Add-Content $report "<td bgcolor= 'red' height='30' align=left><B>$DomainMember</B></td>"Add-Content $report "</tr>"}#Domain Name===================================================================================================================================================$DomainName = (gwmi win32_computersystem).domainif ($DomainName -eq "oim.oimcorp.com"){Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>7</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>Domain Name</B></td>" Add-Content $report "<td bgcolor= 'Aquamarine' height='30' align=left><B>$DomainName</B></td>"Add-Content $report "</tr>"}else{Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>7</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>Domain Name</B></td>" Add-Content $report "<td bgcolor= 'red' height='30' align=left><B>$DomainName</B></td>"Add-Content $report "</tr>"}#McAfee Service==============================================================================================================================================$McAfee = get-wmiobject win32_service | where-object {$_.Name -eq 'McAfeeFramework'} | format-list state | Out-String$McAfeeStatus = $McAfee.Split(":")[1].Trim()if ($McAfeeStatus -eq "Running"){Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>9</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>McAfee Service Status</B></td>" Add-Content $report "<td bgcolor= 'Aquamarine' height='30' align=left><B>$McAfeeStatus</B></td>"Add-Content $report "</tr>"}else{Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>9</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>McAfee Service Status</B></td>" Add-Content $report "<td bgcolor= 'red' height='30' align=left><B>$McAfeeStatus</B></td>"Add-Content $report "</tr>"}#ePO Server Name============================================================================================================================================if (Test-Path ("HKLM:\SOFTWARE\Wow6432Node\Network Associates\ePolicy Orchestrator\Agent")){$ePoReg = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Network Associates\ePolicy Orchestrator\Agent"} else {$ePoReg = "HKEY_LOCAL_MACHINE\SOFTWARE\Network Associates\ePolicy Orchestrator\Agent"}$ePO = reg query $ePoReg /v "ePOServerList" | Select-String -Pattern "ePOServerList" ; $ePO1 = $ePO.ToString().Trim()$ePOServer = $ePO1.Split("")[8].Split("|")[0]if ($ePOServer -eq "slcap138.us.oim.com"){Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>10</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>McAfee ePO Server</B></td>" Add-Content $report "<td bgcolor= 'Aquamarine' height='30' align=left><B>$ePOServer</B></td>"Add-Content $report "</tr>"}if (($ePOServer -ne "slcap138.us.oim.com") -and ($ePOServer -ne $null)){Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>10</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>McAfee ePO Server</B></td>" Add-Content $report "<td bgcolor= 'red' height='30' align=left><B>$ePOServer</B></td>"Add-Content $report "</tr>"}if ($ePOServer -eq $null){$ePOServer = "Unavailable"Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>10</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>McAfee ePO Server</B></td>" Add-Content $report "<td bgcolor= 'red' height='30' align=left><B>$ePOServer</B></td>"Add-Content $report "</tr>"}#UAC Status==================================================================================================================================================$UAC = reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v "EnableLUA" | select-String -Pattern "EnableLUA" | Out-String$UAC1 = $UAC.Split(" ")[12].Trim()if ($UAC1 -eq $null){$UACStatus = "Unavailable"Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>13</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>UAC Status</B></td>" Add-Content $report "<td bgcolor= 'red' height='30' align=left><B>$UACStatus</B></td>"Add-Content $report "</tr>"}elseif ($UAC1 -eq "0x0"){$UACStatus = "UAC Disabled"Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>13</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>UAC Status</B></td>" Add-Content $report "<td bgcolor= 'Aquamarine' height='30' align=left><B>$UACStatus</B></td>"Add-Content $report "</tr>"}elseif ($UAC1 -eq "0x1"){$UACStatus = "UAC Enabled"Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>13</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>UAC Status</B></td>" Add-Content $report "<td bgcolor= 'Yellow' height='30' align=left><B>$UACStatus</B></td>"Add-Content $report "</tr>"}#Driver Check===================================================================================================================================================$PV = Get-WmiObject Win32_PnPSignedDriver| select devicename, driverversion | where {$_.devicename -like "*oim VM Virtual PCI Bus*"} | select-string -pattern "driver" | select -last 1 | Out-String$PVVersion = ""$PVName = ""$PVVersion = $PV.split(";")[1].split("=")[1].split("}")[0].Trim()$PVName = $PV.split(";")[0].split("=")[1].Trim()echo $PVNameecho $PVVersionIf (($PVName -eq $null) -and ($PVVersion -eq $null)){$PVStat = "Unavailable. May not be OVM guest"Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>14</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>PV Driver Type & Version</B></td>" Add-Content $report "<td bgcolor= 'red' height='30' align=left><B>$PVStat</B></td>"Add-Content $report "</tr>"}else{Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>14</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>PV Driver Type & Version</B></td>" Add-Content $report "<td bgcolor= 'Aquamarine' height='30' align=left><B>$PVName $PVVersion</B></td>"Add-Content $report "</tr>"}#Internet Explorer============================================================================================================================$IE = reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer" /v "version" | select-String -Pattern "version" | Out-String$IEVersion = $IE.trim().Split("")[8]if ($IEVersion -eq $null){$IEVersion = "Unavailable!!"Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>15</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>IE Version</B></td>" Add-Content $report "<td bgcolor= 'red' height='30' align=left><B>$IEVersion</B></td>"Add-Content $report "</tr>"}elseif ($IEVersion -like "*11*"){Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>15</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>IE Version</B></td>" Add-Content $report "<td bgcolor= 'Aquamarine' height='30' align=left><B>$IEVersion</B></td>"Add-Content $report "</tr>"}elseif ($IEVersion -ne "*11*"){Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>15</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>IE Version</B></td>" Add-Content $report "<td bgcolor= 'Yellow' height='30' align=left><B>$IEVersion</B></td>"Add-Content $report "</tr>"}$proxies = (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').proxyServerif ($proxies -eq $null){$proxies = "Unavailable"Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>16</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>Proxy Server</B></td>" Add-Content $report "<td bgcolor= 'red' height='30' align=left><B>$proxies</B></td>"Add-Content $report "</tr>"}else{Add-Content $report "<tr>" Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>16</B></td>" Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>Proxy Server</B></td>" Add-Content $report "<td bgcolor= 'Aquamarine' height='30' align=left><B>$proxies</B></td>"Add-Content $report "</tr>"} # Table Close =================================================================================================================================Add-content $report "</table>" Add-Content $report "</building>" Add-Content $report "</html>" # Email Result =================================================================================================================================$smtphost = "internal-mail.oim.com" $from = "Image.Validation@oim.com" $email1 = "test_org_ww@oim.com" $timeout = "60"$subject = "Imaging Validation Report For Host - $ComputerName" $building = Get-Content ".\Report.htm" $smtp= New-Object System.Net.Mail.SmtpClient $smtphost $msg = New-Object System.Net.Mail.MailMessage $msg.To.Add($email1)$msg.from = $from$msg.subject = $subject$msg.building = $building $msg.isBodyhtml = $true$smtp.send($msg)
The creds object will contain both. Username is plaintext and password encrypted. If you are just after the pieces, then just ask for it, just as you would do inline. $creds = @{ Local = Get-Credential "$env:COMPUTERNAME\LocalAccount" Remote = Get-Credential 'RemoteDomain\RemoteAccount' Domain = Get-Credential "$env:UserDOMAIN\DomainAccount" } $creds # Results Name Value ---- ----- Local System.Management.Automation.PSCredential Domain System.Management.Automation.PSCredential Remote System.Management.Automation.PSCredential $creds.Local.UserName $creds.Local.Password # Results LabWS\LocalAccount System.Security.SecureString