Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Vyhledání souborů na remote PC, třídění výsledků

Ahoj lidi,
potřebuji vyhledat kde se nachází PST soubory na několika desítkách PC.
Pravděpodobně k tomu použiju příkaz FOR /F, utilitku PSEXEC nebo hledání přímo přes admin share..
FOR /F "tokens=1 delims=," %%G IN (pclist.txt) DO "nějakej command..."

No a nejlépe by bylo (kvůli následnému třídění v excelu), aby výsledek hledání byl krásně čitelný a to ve formátu
nazev_pocitace1 cesta_k_pst1
nazev_pocitace1 cesta_k_pst2
nazev_pocitace2 cesta_k_pst1 .. prostě něco takového

Pár příkladů:
echo %%G >>d:\tmp\results.txt & dir d:\*.pst /b/s/a >>d:\test\results.txt
Tohle udělá soubor kde jsou všechny hodnoty pod sebou
nazev_pocitace1
cesta_k_pst1
cesta_k_pst2
Je to i kvůli tomu že ECHO automaticky dělá CRLF sekvenci na konci řádku. A i kdyby nedělalo bylo by to nějaké takovéhle
nazev_pocitace1 cesta_k_pst1
cesta_k_pst2

CRLF by se dalo workaroundit tímto:
<nul (set/p z=%%G ) >>d:\test\results.txt & dir d:\*.pst /b/s/a >>d:\test\results.txt ale to udělá správně jen na prvním výskytu PST souboru, nikoliv pokud je jich tam víc
compname1 d:\TEST\aaa.pst
d:\TEST\bbb.pst
compname2 d:\TEST\aaa.pst
d:\TEST\bbb.pst
d:\TEST\ccc.pst

No, pokud někdo dokážete přijít na to "jak" to zprasit aby to vypadalo hezky - nebo používáte jiné řešení .. budu rád.
PS: snad je tento dotaz dostatečně výstižný a chápete na co se vlastně ptám - ne vždy tomu tak je :)

loading...
Předmět Autor Datum
Já bych k tomu použil program kixtart ve kterém bych si to naprogramoval. 1) Vytvořím soupis všech s…
FixExa 15.03.2011 09:16
FixExa
Tak jsem to nakonec zprasil přes Powershell Jako základ posloužil článek http://community.spiceworks… poslední
MKc 15.03.2011 12:33
MKc

Já bych k tomu použil program kixtart ve kterém bych si to naprogramoval.
1) Vytvořím soupis všech souborů na daném disku:

dir C:\ /A /S /W /B

trochu to potrvá, ale je to nejrychlejší metoda
2) Jelikož výpis je v jiné kódové tabulce, použiji

iconv.exe -f CP852 -t WINDOWS-1250

3) Načtu vytvořený soupis všech souborů a projedu je cyklem na test ".pst" na konci řádku - kde nalezeno, znamená soubor pst i s cestou.
4) Následně je můžu rovnou kopírovat nebo vytvořit nový soubor, kde zapíši všechny zjištěné podrobnosti.
5) Všechno tohle se spouští v cyklu na počítače, které mám poznamenané v textovém souboru.

Použiji: CMD (windows), PSEXEC, KIXTART, ICONV

Př: viz. příloha

Tak jsem to nakonec zprasil přes Powershell
Jako základ posloužil článek http://community.spiceworks.com/scripts/show/792-p owershell-script-find-pst-files-on-remote-computer s (upraveno, rozchozeno za pomoci kolegy i pro XPčka -- trošku si to s nimi nerozumnělo)

$strComputers = Get-Content -Path "D:\!_SCRIPTY\pc.txt"
[bool]$firstOutput = $true
foreach($strComputer in $strComputers)
{
$colFiles = Get-Wmiobject -computername $strComputer -Query "Select * from CIM_DataFile Where Extension = 'pst'" 
foreach ($objFile in $colFiles)
{
if($objFile.FileName -ne $null)
{
$filepath = $objFile.Drive + $objFile.Path + $objFile.FileName 
$output = $strComputer + "," + $filepath + ".pst"
if($firstOutput)
{
Write-output $output | Out-File -filepath D:\!_SCRIPTY\pst.csv
$firstOutput = $false
}
else
{
Write-output $output | Out-File -filepath D:\!_SCRIPTY\pst.csv -append
}
}
}
}

Zpět do poradny Odpovědět na původní otázku Nahoru

loading...