I made some modifications to the code below, including a Write-Verbose 
statement that progressively reports progress of creating the resulting 
password.

 

Function Get-TempPassword {

    Param(

        [int] $Length=10,

        [Parameter(Mandatory = $true)]

        [string[]] $SourceData

    )

 

    For ($i=1; $i –le $length; $i++) {

        $NewChar = $sourcedata | Get-Random;

        Write-Verbose -Message ('Adding {0} to {1}' -f $NewChar, $TempPassword);

        $TempPassword += $NewChar;

    }

    Write-Output -InputObject $TempPassword;

}

 

$ascii=$NULL;For ($a=33;$a –le 126;$a++) {$ascii+=,[char][byte]$a };

$Password = Get-TempPassword -Length 19 -SourceData $ascii -Verbose;

Write-Host -Object $Password; 

 

Results:

 



 

Cheers,

Trevor Sullivan

Microsoft PowerShell MVP

 

From: listsad...@lists.myitforum.com [mailto:listsad...@lists.myitforum.com] On 
Behalf Of Murray, Mike
Sent: Friday, May 16, 2014 12:14 PM
To: mssms@lists.myitforum.com
Subject: RE: [mssms] Powershell help

 

I don’t think the data type is the issue. The function works, the $TempPassword 
value is just blank outside of the function. I need to have access to that 
value.

 

From: listsad...@lists.myitforum.com <mailto:listsad...@lists.myitforum.com>  
[mailto:listsad...@lists.myitforum.com] On Behalf Of Daniel Ratliff
Sent: Friday, May 16, 2014 9:14 AM
To: 'mssms@lists.myitforum.com'; 'mssms@lists.myitforum.com'
Subject: RE: [mssms] Powershell help

 

$ascii is null but the sourcedata parameter requires a string. Not sure if it 
will accept a null value. Take off the string data type from the parameter and 
see if it helps.

-Daniel Ratliff

-----Original Message-----
From: Murray, Mike [mmur...@csuchico.edu <mailto:mmur...@csuchico.edu> ]
Sent: Friday, May 16, 2014 11:57 AM Eastern Standard Time
To: mssms@lists.myitforum.com <mailto:mssms@lists.myitforum.com> 
Subject: [mssms] Powershell help



Hey folks,

 

I’m trying to set a local admin password with a random value in OSD. I found 
this function online that is great, but I can’t seem to return the value 
outside the function. I’ve tried a bunch of ways with no luck. Can someone 
help? The colde below doesn’t have the setting of the password, I just want to 
see that the password variable is returning and I can use it in the change 
command.

 

Function GET-Temppassword() {

 

Param(

 

[int]$length=10,

 

[string[]]$sourcedata

 

)

 

 

For ($loop=1; $loop –le $length; $loop++) {

 

            $TempPassword+=($sourcedata | GET-RANDOM)

 

            }

 

return $TempPassword  <-- this value does display

 

}

 

$ascii=$NULL;For ($a=33;$a –le 126;$a++) {$ascii+=,[char][byte]$a }

$PW = GET-Temppassword –length 19 –sourcedata $ascii

 

write-host $PW  <-- this is empty

 

 

Best Regards,

 

Mike Murray

Desktop Management Coordinator - IT Support Services

California State University, Chico

530.898.4357
 <mailto:mmur...@csuchico.edu> mmur...@csuchico.edu

 



The information transmitted is intended only for the person or entity to which 
it is addressed
and may contain CONFIDENTIAL material. If you receive this material/information 
in error,
please contact the sender and delete or destroy the material/information.

 

 




Reply via email to