Hi All,

Script we are using like.


Below is my script which i need to do small changes like
c:\temp\mymachines.txt have the list of machines.. in script we are passing
the machine names to get the account names



1. Write now the result its showing on command prompt. I need to get the
result in Excel
2. we have multiple domains.. In script we are passing the Domain name
(XXXXXXXXX)... Instead of this like I have 10 machines in excel with
headers of Machine name and Domain it should call in the script and result
should get in the excel ...

Expecting like::If i change the script to remove (* $Group.remove("WinNT://"
+ $domain + "/" + $username)   -----*


*Machine name :::: Domain::::: Result:::::*
*Computer1::::::::::: XXXX::::::  Removed   should showup inthe excel*


*Usage:*


run command.

*{{{{{{{{{{{{{.\script.ps1 "Kevin" "C:\Temp\add_remove admin
rights\mymachines.txt*"

* $Group.add("WinNT://" + $domain + "/" + $username)   :::::::::::here i
remove.Add and changes to remove it will remove the specified
account..}}}}}}}}}}}}}*

____________________________________________________

function ListAdministrators($Group)
{
  $members= $Group.psbase.invoke("Members") |
%{$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
  $members
}

function Ping-Server {
   Param([string]$srv)
   $pingresult = Get-WmiObject Win32_PingStatus -Filter  "Address='$srv'"
   if($pingresult.StatusCode -eq 0) {$true} else {$false}
}

if ($args.Length -ne 2) {
 Write-Host "`tUsage: "
Write-Host "`t`t.\AddToLocalAdmin.ps1 < group or user > <file of machines>"
Write-Host "`t`tExample: .\AddToLocalAdmin.ps1 FooBarGroup
c:\temp\mymachines.txt"
return
}

#Your domain, change this
$domain = "*XXXXXXX*"

#Get the user to Remove
$username = $args[0]

#File to read computer list from
$strComputers = Get-content $args[1]

foreach ($strComputer in $strComputers)
{

  if (Ping-Server($strComputer)) {

      $computer = [ADSI]("WinNT://" + $strComputer + ",computer")
      $Group = $computer.psbase.children.find("administrators")
      # This will list what’s currently in Administrator Group so you can
verify the result
      write-host -foregroundcolor green "====== $strComputer BEFORE ====="
      ListAdministrators $Group
      write-host -foregroundcolor green "====== BEFORE ====="

      # Even though we are adding the AD account
      # It is being added to the local computer and so we will need to use
WinNT: provider

     * $Group.add("WinNT://" + $domain + "/" + $username)   *

      write-host -foregroundcolor green "====== $strComputer AFTER ====="
      ListAdministrators $Group
      write-host -foregroundcolor green "====== AFTER ====="

   }
   else
   {
      write-host -foregroundcolor red "$strComputer is not pingable"
   }
}



Reply via email to