检查.CSV文件中是否存在字符串,如果不存在,则使用Powershell附加它

时间:2014-09-02 09:23:20

标签: string powershell csv search append

我有一个.csv文件,它使用两列都有标题: 教师,信道

在教师列下方有教师用户名,在频道列下方是教师指定的频道。

我正在尝试让脚本工作,通过.csv检查已登录的教师用户名,然后回复他们的频道,如果他们的用户名不存在,则附加它并为其分配1个频道的频道高于以往的教师频道。一旦脚本添加了登录用户的新用户名,它就应该使用新分配的频道。

到目前为止,我有这个:

$strCSV = "\\SEVERNAME\SHARE\FOLDER"
$strCurrentUser = Get-WmiObject -Class Win32_ComputerSystem
$strChannel = Import-Csv $strCSV\teachers.csv | where {$_.Teacher -eq $strCurrentUser.UserName.TrimStart("DOMAIN\")} | % channel

这并不多,但我对Powershell来说真的很新,所以任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

这样的事情会起作用。它导入现有用户的CSV检查。如果找不到其他东西,如果没有找到它会获得最后一个频道添加一个并将新教师导出到文件的末尾。

$file = "\\SEVERNAME\SHARE\FOLDER\teachers.csv"
$teachers = Import-Csv $file
$strCurrentUser = (Get-WmiObject -Class Win32_ComputerSystem).UserName.TrimStart("DOMAIN\")
$strChannel = $teachers | where {$_.Teacher -eq $strCurrentUser} | % channel
if($strChannel){
#dostuff with channel
}
else{
$lastChannel = [int]$teachers[$teachers.length-1].channel + 1
"{0},{1}" -f $strCurrentUser,$lastChannel | add-content -path $file
}