Como usar o powershell para verificar a localização dos locais de perfil do usuário no servidor?

1

É possível encontrar todos os perfis de usuários que não estão em um determinado servidor / pasta usando o PowerShell e expressões regulares? Se sim, como alguém faria isso?

    
por leeand00 10.01.2013 / 22:36

4 respostas

1

No powershell, use o objeto WMI Win32_UserProfile para localizar os perfis remotamente:

gwmi -ComputerName <computername> Win32_UserProfile

Para encontrar perfis de usuário que não estão em um servidor (ou que são, de qualquer forma), você pode fazer algo como:

gwmi -ComputerName <computername> Win32_UserProfile | ? {"C:\Users\<username>" -contains $_.LocalPath}

Se o caminho existir, ele dará resultados, se não, então não. Você pode fazer coisas mais extravagantes do que isso, mas basicamente isso deve conseguir o que você precisa sem usar expressões regulares.

    
por 16.01.2013 / 21:34
1

Para o usuário atual, execute:

$env:USERPROFILE

Para obter uma lista de todas as variáveis ambientais, execute:

Get-ChildItem Env:
    
por 03.05.2017 / 10:13
0

Engraçado, eu só tive que fazer isso hoje. Experimente este script, substituindo servername , sharename e c:\path\to\save.csv pelos valores apropriados. Eu digitei isso da memória, então não posso prometer nenhum bug: (

$a = [adsisearcher]'(&(objectclass=user)(objectcategory=user)(profilepath=*))'
[void]$a.propertiestoload.add('name')
[void]$a.propertiestoload.add('profilepath')
$a.pagesize = 1000

$a.findall() | foreach-object {
    if($_.properties.profilepath[0] -notmatch '^\\servername\sharename\')
    {
        $op = '' | select name,profilepath
        $op.name = $_.properties.name[0]
        $op.profilepath = $_.properties.profilepath[0]
        $op
    }
} | export-csv -NoTypeInformation c:\path\to\save.csv
    
por 11.01.2013 / 06:06
0

É mais eficiente se você fizer a parte não da condição de correspondência da consulta LDAP. Experimente:

$a = [adsisearcher]'(&(objectclass=user)(objectcategory=user)(!profilepath=\\servername\sharename*))'
    
por 16.01.2013 / 21:12