0

我正在尝试为 Puppet 写一个事实。

我有一个包含用户名的数组,array = ["user1", "user2", "user3"]然后是一个代码

array.each do |item|
    temp_data << Facter::Core::Execution.exec("net user #{item} /DOMAIN")
end
search_text = %r{comment|Local}
users_data = []
temp_data.each do |line|
    line.each_line do |num|
    users_data << (num) unless num =~ search_text
    end
end

temp_data 生成正常,但我得到一个错误ERROR puppetlabs.facter - error while resolve custom fact "winusers_domain": invalid byte sequence in UTF-8但它没有显示错误所在的行。有什么建议吗?

4

1 回答 1

0

我已经想通了,所以我回答自己。

array.each do |item|
    temp_data << Facter::Core::Execution.exec("net user #{item} /DOMAIN")
end
search_text = %r{comment|Local}
users_data = []
temp_data.each do |line|
    line.encode!('UTF-16', 'UTF-8', :invalid => :replace, :replace => '')
    line.encode!('UTF-8', 'UTF-16')
    line.each_line do |num|
    users_data << (num) unless num =~ search_text
    end
end
于 2017-02-14T21:30:01.783 回答