{"id":12930,"date":"2023-04-14T09:33:51","date_gmt":"2023-04-14T14:33:51","guid":{"rendered":"https:\/\/jianmingli.com\/wp\/?p=12930"},"modified":"2023-04-14T09:33:51","modified_gmt":"2023-04-14T14:33:51","slug":"powershell-example-environment-variables","status":"publish","type":"post","link":"https:\/\/jianmingli.com\/wp\/?p=12930","title":{"rendered":"Powershell Example: Environment Variables"},"content":{"rendered":"<pre lang=\"powershell\">\nFunction GetEnvVar{<br \/>\n    param(<br \/>\n        [Parameter(Mandatory=$true)][String]$varname<br \/>\n    )<br \/>\n    $val = [System.Environment]::GetEnvironmentVariable(\"$varname\", \"Machine\")<br \/>\n    if (!$val){<br \/>\n        Log \"$varname env variable not found!\"<br \/>\n        return \"\"<br \/>\n    }<br \/>\n    Log \"$varname env variable found: $val\"<br \/>\n    return $val<br \/>\n}<\/p>\n<p>Function SetEnvVar{<br \/>\n    param(<br \/>\n        [Parameter(Mandatory=$false)][String]$envname,<br \/>\n        [Parameter(Mandatory=$false)][String]$envval<br \/>\n    )<br \/>\n    $beforeval = GetEnvVar $envname<br \/>\n    Log \"Before change ${envname}: $beforeval\"<\/p>\n<p>    [System.Environment]::SetEnvironmentVariable($envname,$envval,[System.EnvironmentVariableTarget]::Machine)<\/p>\n<p>    $afterval = GetEnvVar $envname<br \/>\n    Log \"After change ${envname}: $afterval\"<br \/>\n}<\/p>\n<p>Function UpdateEnvVar{<br \/>\n    param(<br \/>\n        [Parameter(Mandatory=$true)][String]$envname,<br \/>\n        [Parameter(Mandatory=$true)][String]$newVal<br \/>\n    )<\/p>\n<p>    $tmpenv = GetEnvVar $envname<br \/>\n    if ($tmpenv -eq $newVal){<br \/>\n        Log \"$envname already set to $newval\"<br \/>\n    }else{<br \/>\n        SetEnvVar $envname $newVal<br \/>\n    }<br \/>\n}<\/p>\n<p>Function UpdateCLASSPATH{<br \/>\n    param(<br \/>\n        [Parameter(Mandatory=$true)][String]$oldpath,<br \/>\n        [Parameter(Mandatory=$true)][String]$newpath<br \/>\n    )<br \/>\n    $tmpcp = GetEnvVar $CLASSPATH<br \/>\n    if ($tmpcp -like \"*${oldpath}*\"){<br \/>\n        $newcp = $tmpcp.Replace($oldpath, $newpath)<br \/>\n        SetEnvVar $CLASSPATH $newcp<br \/>\n    }else{<br \/>\n        Log \"CLASSPATH already contains $newpath\"<br \/>\n    }<br \/>\n}\n<\/pre \n\n","protected":false},"excerpt":{"rendered":"<p>Function GetEnvVar{ param( [Parameter(Mandatory=$true)][String]$varname ) $val = [System.Environment]::GetEnvironmentVariable(&#8220;$varname&#8221;, &#8220;Machine&#8221;) if (!$val){ Log &#8220;$varname env variable not found!&#8221; return &#8220;&#8221; } Log &#8220;$varname env variable found: $val&#8221; return $val } Function SetEnvVar{ param( [Parameter(Mandatory=$false)][String]$envname, [Parameter(Mandatory=$false)][String]$envval ) $beforeval = GetEnvVar $envname Log &hellip; <a href=\"https:\/\/jianmingli.com\/wp\/?p=12930\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[376],"tags":[],"class_list":["post-12930","post","type-post","status-publish","format-standard","hentry","category-powershell"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8cRUO-3my","_links":{"self":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/12930","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12930"}],"version-history":[{"count":1,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/12930\/revisions"}],"predecessor-version":[{"id":12931,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/12930\/revisions\/12931"}],"wp:attachment":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12930"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12930"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12930"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}