Skript, mis kuvab kasutajad ja grupid: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Kkalme (talk | contribs)
No edit summary
Kkalme (talk | contribs)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:


'''Skript kuvab kõik kasutajad ja grupid kuhu kasutajad kuuluvad.'''
== Pikkem varjant ==
== Pikkem varjant ==
'''Skript kuvab kõik kasutajad ja grupid kuhu kasutajad kuuluvad.'''
<source lang="powershell">
<source lang="powershell">
$computer = [ADSI]("WinNT://arvuti nimi,computer")
$computer = [ADSI]("WinNT://arvuti nimi,computer")
Line 28: Line 27:
}
}


</source>


== Lühem varjant ==
== Lühem varjant ==


# Skript väljastab kasutajad ja gruppid kuhu nad kuuluvad.
<source lang="powershell">


$computer = [ADSI]"WinNT://$env:COMPUTERNAME"
$computer = [ADSI]"WinNT://$env:COMPUTERNAME"
Line 39: Line 39:
     $groups = $_.Groups() | Foreach-Object {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
     $groups = $_.Groups() | Foreach-Object {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
    
    
     $_ | Select-Object @{n='Kasutajad';e={$_.Name}},@{n='Gruppid';e={$groups -join ' & '}
     $_ | Select-Object @{n='Kasutajad';e={$_.Name}},@{n='Grupid';e={$groups -join ' & '}
     }
     }
  }
  }

Latest revision as of 10:44, 27 May 2011

Skript kuvab kõik kasutajad ja grupid kuhu kasutajad kuuluvad.

Pikkem varjant

$computer = [ADSI]("WinNT://arvuti nimi,computer")
$Users = $computer.psbase.children |where{$_.psbase.schemaclassname -eq "User"}
$grupid = $computer.psbase.children |where{$_.psbase.schemaclassname -eq "Group"}

foreach ($member in $Users.psbase.syncroot) 
{ 
    write-host $member.Name
    
   foreach ($grupp in $grupid) 
    { 
        $olemas = $grupp.psbase.invoke("Members") | foreach {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
        if($olemas)
        { 
            foreach($x in $olemas)
            {
                if($x -eq $member.Name)
                {
                    Write-Host "-------"$grupp.Name
                }
            }
        }
    }
}

Lühem varjant

$computer = [ADSI]"WinNT://$env:COMPUTERNAME"

$computer.Children | where {$_.SchemaClassName -eq 'user'} | Foreach-Object {
   
    $groups = $_.Groups() | Foreach-Object {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
   
    $_ | Select-Object @{n='Kasutajad';e={$_.Name}},@{n='Grupid';e={$groups -join ' & '}
    }
 }