Hashtags kommen, wenn Daten per Powershell-Skript in eine CSV-Datei exportiert werden

254
murali kuruva

Ich führe ein Powershell-Skript aus, um Daten aus der SharePoint-Dokumentbibliothek zu erhalten. Während das Skript ausgeführt wurde, wurden die Daten in die CSV-Datei geschrieben, die Spaltennamen werden jedoch mit ";#"Hashtags angezeigt. Zum Beispiel kommen Namen, Manager-Namen usw. mit ID number hashtags(123;#). Ich möchte nur Namen, Manager-Namen, keine Hashtags oder ID-Nummer in der Ausgabe-CSV erhalten. Könnte jemand bitte ein aktualisiertes Skript für das gleiche einfügen.

$web = get-spweb "site Url"  $caseLib = $web.lists | where {$_.title -eq "Document Library"}  $query=new-object Microsoft.SharePoint.SPQuery   $query.ViewFields = "<FieldRef Name='LinkFilename'/><FieldRef Name='Source_x0020_Name'/><FieldRef Name='Content_x0020_Lookup'/><FieldRef Name='Manager'/><FieldRef Name='Assigned_x0020_Person'/><FieldRef Name='City_x0020_Name'/>"  do  {  $caseLibItems=$caseLib.GetItems($query)  $query.ListItemCollectionPosition=$caseLibItems.ListItemCollectionPosition  $listItemsTotal = $caseLibItems.Count  $x = 0  for($x=0;$x -lt $listItemsTotal; $x++)  {  $SourceName = $caseLibItems[$x]["Source_x0020_Name"]  $ContentLookup = $caseLibItems[$x]["Content_x0020_Lookup"]  $Manager = $caseLibItems[$x]["Manager"]  $AssignedTo = $caseLibItems[$x]["Assigned_x0020_To"]  $CityName = $caseLibItems[$x]["City_x0020_Name"]  $str = "" if('$SourceName; $ContentLookup; $Manager; $AssignedTo; $CityName' -ne $null)  {  $str = $caseLibItems[$x]["LinkFilename"].ToString() + $SourceName + $ContentLookup + $Manager + $AssignedTo + $CityName  }  else  {  $str = $caseLibItems[$x]["LinkFilename"].ToString()  }  Write-Output $str| Out-File "path" -Append  }  }while ($query.ListItemCollectionPosition -ne $null)  Write-Host "Exiting" 

Ausgabedatei bekomme ich

ABCD;"1234;#ABC travels";"48;#outdated";"157;#Rajukumar";"1246;#Raju";"1534;#England"  AFGV;"2678;#CDF travels";"26;#sourcedata";"24;#Johnson";"2323;#Kumar";"1298;#Japan"  xyza;"45324;#KHR travels";"324;#conducteddate";"136;#Peter";"231;#Helen";"1212;#USA"  MNGR;"11225;#XYZ travels";"368;#mangeddated";"157;#Helen";"1246;#Johnson";"3567;#AUS"  Etc 

In der Ausgabedatei erhalte ich einen Listen-ID-Namen mit Hashtags. Ich möchte keinen ID-Namen und Hashtags. Nur Namen, die ich in die Ausgabedatei bekommen muss. Kann jemand bitte bei diesem Skript helfen?

0

1 Antwort auf die Frage

1
postanote

Sie zeigen nicht, was Sie für Ihren Endanwendungsfall wünschen. Bitte machen Sie das, oder wir müssen raten. Was denkst du über Namen?

Sie können die Dateiergebnisse mithilfe der integrierten CSV-Cmdlets analysieren. Beispiel:

$DataSet = ' ABCD;"1234;#ABC travels";"48;#outdated";"157;#Rajukumar";"1246;#Raju";"1534;#England" AFGV;"2678;#CDF travels";"26;#sourcedata";"24;#Johnson";"2323;#Kumar";"1298;#Japan" xyza;"45324;#KHR travels";"324;#conducteddate";"136;#Peter";"231;#Helen";"1212;#USA" MNGR;"11225;#XYZ travels";"368;#mangeddated";"157;#Helen";"1246;#Johnson";"3567;#AUS" '  $DataSet -replace '#|"' |  ConvertFrom-Csv -Delimiter ';' -Header H1,H2,H3,H4,H5,H6,H7,H8,H9,H10 |  Format-Table -AutoSize  # Results  H1 H2 H3 H4 H5 H6 H7 H8 H9 H10  -- -- -- -- -- -- -- -- -- ---  ABCD 1234 ABC travels 48 outdated 157 Rajukumar 1246 Raju 1534 AFGV 2678 CDF travels 26 sourcedata 24 Johnson 2323 Kumar 1298 xyza 45324 KHR travels 324 conducteddate 136 Peter 231 Helen 1212 MNGR 11225 XYZ travels 368 mangeddated 157 Helen 1246 Johnson 3567 

Ich füge die Überschriften ein, um die jeweiligen Spalten zu identifizieren. Sie können dann auswählen, was Sie ausgeben möchten.

Ich habe die Zeilenumbrüche manuell entfernt, daher müssen Sie Ihren Code ändern, sodass es sich nicht um ein Ausgabeelement handelt oder Sie müssen auch damit umgehen.