Sto provando a creare uno script in cui cercherò i file server per le autorizzazioni non ereditate. Di conseguenza, ho raggiunto il limite di 260 caratteri per i nomi dei file. Un suggerimento che ho visto, che pensavo sarebbe stato di aiuto, un paio di volte è stato quello di creare alcuni PS Drives non persistenti un paio di livelli profondi e interrogarli.Come posso interrogare un PS-Drive temporaneo mentre restituisco file con un nome relativo all'unità?
Il problema è che quando uso Get-ChildItem
contro il nuovo PS Drives sta tornando oggetto con il percorso di rete completo e non utilizzando il nome ho assegnato esso.
# Cycle the folders
Get-ChildItem $rootPath -Directory | select -first 1 | ForEach-Object{
$target = $_
# Create a PS Drive for each sub directory and get all the folders
[void](New-PSDrive -Name $target.Name -PSProvider FileSystem $target.FullName)
# Get the file objects.
Get-ChildItem "$($target.Name):\" -Recurse
}
Sono sicuro che se avessi creato alcune unità di rete persistenti con una lettera di unità, non avrei questo problema.
Speriamo che non mi sia mancato ma lo Technet for New-PSDrive non era al 100% chiaro su questo scenario.
Sto cercando un modo per creare ps-drive e fare riferimento a tali cartelle durante la restituzione dei percorsi relativi al nuovo nome dell'unità. Considera l'output di uno psdrive che ho creato (G :), quindi una delle mie unità di rete mappate (M :).
PS M:\> Get-ChildItem G:\
Directory: \\server01\COMMON\Folder
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 6/18/2011 8:14 AM Folder 1
d---- 6/18/2011 8:14 AM Folder 2
PS M:\> Get-ChildItem M:\
Directory: M:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 5/8/2015 11:00 AM Backup
d---- 5/8/2015 11:00 AM covers
d---- 5/8/2015 11:00 AM drop
d---- 5/8/2015 11:00 AM Expense
Sono consapevole che più soluzioni alternative esistono per la mia situazione esatta, ma vorrei capire il comportamento che sto mostrando con New-PSDrive
.
Ora mi sento stupido per la taglia, ma il problema sono le unità persistenti. Se ne faccio uno persistente, ottengo i relativi percorsi. Devo ancora trovare la documentazione per sostenerlo ... Se qualcuno trova qualcosa di concreto, sentiti libero di fare una risposta. – Matt
Questo potrebbe non essere quello che stai chiedendo, ma cosa succede se il limite non era di 260 caratteri, ed erano 32.000? https://github.com/alphaleonis/AlphaFS –
@MickyBalladelli Sì, mi sono imbattuto in questo come una raccomandazione più volte. Volevo rimuovere la dipendenza dalle librerie esterne, perché la condividerò con persone non altrettanto esperte. Grazie per la punta a prescindere. Potrebbe aiutare qualcun altro. Questo problema è solo un bug, quindi sto cercando di capire il motivo alla base. – Matt