Return variable from Function


i have function if write-host variable $rdpuser within function returns true, can't seem variable seen outside function, if make global

function global:rdp (){


$workstationname = get-content env:computername
    # run qwinsta.exe , parse output
    $queryresults = (qwinsta /server:$workstationname | foreach { (($_.trim() -replace "\s+",","))} | convertfrom-csv)  
     
    # pull session information each instance
    foreach ($queryresult in $queryresults) {
        $rdpuser = $queryresult.username
        $sessiontype = $queryresult.sessionname
         
        # want display "person" logged in. otherwise unused sessions show username number
        if (($rdpuser -match "[a-z]") -and ($rdpuser -ne $null)) {  
            # when running interactively, uncomment write-host line below show output screen
             $loggedonuser = $rdpuser
         $rdphost
            #$sessionlist = $sessionlist + "`n`n" + $servername + " logged in " + $rdpuser + " on " + $sessiontype
        }
    }


}



#get current time
$time2 = get-date
 
#get logged-on user details
$user = get-wmiobject win32_computersystem -computername "."
 
#get time user logged on
$time1 = get-eventlog -logname system -instanceid 7001 -newest 1
 
#set variables sql
$logondatetime = get-date -format "mmm dd yyyy hh:mm:ss"
$workstationname = get-content env:computername
$loggedonuser = $user.username
$timetologon = $time2.timeofday.totalseconds - $time1.timegenerated.timeofday.totalseconds
$logontype = "logon"

#if workstation = qatest set $result

if ($workstationname -eq "qatest") {$result = rdp ; $loggedonuser = $result}


write-host $logondatetime
write-host $workstationname
write-host $loggedonuser
write-host $timetologon
write-host $logontype


alter de ruine

i think there wrong conversion function:

#change $workstationname = get-content env:computername     # run qwinsta.exe , parse output     $queryresults = (qwinsta /server:$workstationname | foreach { (($_.trim() -replace "\s+",","))} | convertfrom-csv)    #to  ((qwinsta /server:$env:computername) -replace ("\b *\b"),"").trim() | convertfrom-csv -delimiter " "



Windows Server  >  Windows PowerShell



Comments

Popular posts from this blog

2008 Windows Deployment Server Properties Error

Can no longer user MS Update - Files required to use Microsoft Update are no longer registered

How do a find data in one file, search for it in another file and if not found, write a custom message to another file