Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #this line is used for testing only. Remove it when copying the final code to Secret Server
- #$args = @("USERNAME","PASSWORD","DOMAIN")
- $PrivUsr = $args[0]
- $PrivPwd = $args[1]
- $securePwd =ConvertTo-SecureString $PrivPwd -AsPlainText -Force
- $SSDomain = $args[2]
- $Creds = New-Object System.Management.Automation.PSCredential -ArgumentList $PrivUsr, $securePwd
- $Domain= [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain((
- New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Domain',"$SSDomain","$PrivUsr","$PrivPwd")))
- $DCs = $Domain.DomainControllers
- $Controller = $DCs[0].Name
- $os = $DCs[0].OSversion
- #we need to get the Guid from the domain controller instead of generating a new one everytime.
- $guid = Invoke-Command -ComputerName $Controller -Credential $Creds -ScriptBlock {
- (Get-ADDomainController).ServerObjectGuid.Tostring().Toupper()
- }
- $FoundComputers = @()
- $object = New-Object –TypeName PSObject;
- $object | Add-Member -MemberType NoteProperty -Name ComputerName -Value ("$Domain");
- $object | Add-Member -MemberType NoteProperty -Name DNSHostName -Value ("$Domain");
- $object | Add-Member -MemberType NoteProperty -Name ADGUID -Value "$guid"; #Secret Server uses Guids to identify objects in the Database, thus this guid is needed
- $object | Add-Member -MemberType NoteProperty -Name OperatingSystem -Value "$os";
- $object | Add-Member -MemberType NoteProperty -Name DistinguishedName -Value "OU=Computers,DC=testlab,DC=com" #do not change
- $FoundComputers +=$object;
- return $FoundComputers
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement