Re: [Puppet Users] Custom Windows Fact (match ipaddress)

2013-11-11 Thread cko
I still can't get it to work:


 Facter::Util::Resolution.exec(C:\\Windows\\System32\\cmd.exe /c 
'C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe ipconfig | 
Select-String -pattern '192.168.20[567]' | %{$_.line.split()} | FINDSTR 
192.168.20[567]')




On Wednesday, October 30, 2013 4:23:45 PM UTC+1, Josh Cooper wrote:

 The second issue is that findstr is a shell builtin, so you have wrap the 
 entire command in:

 cmd.exe /c original command

 You may have to quote the original command and adjust the interior quotes 
 accordingly.

 Josh

 On Wednesday, October 30, 2013, cko wrote:

 Still no effect.


 Facter::Util::Resolution.exec(C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe
  
 ipconfig | Select-String -pattern '192.168.20[567]' | %{$_.line.split()} | 
 FINDSTR 192.168.20[567])

 Is there anything else i need to escape?




 On Tuesday, October 29, 2013 3:07:12 PM UTC+1, cko wrote:

 Hi everybody,

 I'm trying to write a custom fact that gets the IP Address of any given 
 NIC if it matches a specific IP range.

 On Linux i use this (works fine) 

 Facter.add(ip_foo) do
setcode do
   Facter::Util::Resolution.exec(/sbin/ifconfig | /bin/grep 
 '192.168.20[567].' | /bin/awk '{ print $2 }' | /bin/cut -d':' -f2)
end
 end

 Now my Windows Version:

 Facter.add(ip_foo_windows) do
confine :operatingsystem = :windows
setcode do
   Facter::Util::Resolution.exec(C:\Windows\System32\
 WindowsPowerShell\v1.0\powershell.exe ipconfig | Select-String -pattern 
 '192.168.20[567]' | %{$_.line.split()} | FINDSTR 192.168.20[567])
   end
 end


 When i run the command 
 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe 
 ipconfig | Select-String -pattern '192.168.20[567]' | %{$_.line.split()} | 
 FINDSTR 192.168.20[567] on the box it works perfectly fine. It returns the 
 value that i need.

 But it seems that puppet doesn't get that value into the fact.


  -- 
 You received this message because you are subscribed to the Google Groups 
 Puppet Users group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to puppet-users+unsubscr...@googlegroups.com.
 To view this discussion on the web visit 
 https://groups.google.com/d/msgid/puppet-users/f0fbe47f-5bc0-4fc3-bc2a-5eb8d6cad367%40googlegroups.com
 .
 For more options, visit https://groups.google.com/groups/opt_out.



 -- 
 Josh Cooper
 Developer, Puppet Labs



-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/4e1302b5-1fdb-4a72-b696-9df65f586460%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] Custom Windows Fact (match ipaddress)

2013-10-30 Thread Josh Cooper
The second issue is that findstr is a shell builtin, so you have wrap the
entire command in:

cmd.exe /c original command

You may have to quote the original command and adjust the interior quotes
accordingly.

Josh

On Wednesday, October 30, 2013, cko wrote:

 Still no effect.


 Facter::Util::Resolution.exec(C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe
 ipconfig | Select-String -pattern '192.168.20[567]' | %{$_.line.split()} |
 FINDSTR 192.168.20[567])

 Is there anything else i need to escape?




 On Tuesday, October 29, 2013 3:07:12 PM UTC+1, cko wrote:

 Hi everybody,

 I'm trying to write a custom fact that gets the IP Address of any given
 NIC if it matches a specific IP range.

 On Linux i use this (works fine)

 Facter.add(ip_foo) do
setcode do
   Facter::Util::Resolution.exec(**/sbin/ifconfig | /bin/grep
 '192.168.20[567].' | /bin/awk '{ print $2 }' | /bin/cut -d':' -f2)
end
 end

 Now my Windows Version:

 Facter.add(ip_foo_windows) do
confine :operatingsystem = :windows
setcode do
   Facter::Util::Resolution.exec(**C:\Windows\System32\**
 WindowsPowerShell\v1.0\**powershell.exe ipconfig | Select-String
 -pattern '192.168.20[567]' | %{$_.line.split()} | FINDSTR 192.168.20[567])
   end
 end


 When i run the command 
 C:\Windows\System32\**WindowsPowerShell\v1.0\**powershell.exe
 ipconfig | Select-String -pattern '192.168.20[567]' | %{$_.line.split()} |
 FINDSTR 192.168.20[567] on the box it works perfectly fine. It returns the
 value that i need.

 But it seems that puppet doesn't get that value into the fact.


  --
 You received this message because you are subscribed to the Google Groups
 Puppet Users group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to puppet-users+unsubscr...@googlegroups.com javascript:_e({},
 'cvml', 'puppet-users%2bunsubscr...@googlegroups.com');.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/puppet-users/f0fbe47f-5bc0-4fc3-bc2a-5eb8d6cad367%40googlegroups.com
 .
 For more options, visit https://groups.google.com/groups/opt_out.



-- 
Josh Cooper
Developer, Puppet Labs

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CA%2Bu97umXqfg0sxcDx2mdnJsdA1PjP7sEJwOOXgcu_EiqL1BrtQ%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.


[Puppet Users] Custom Windows Fact (match ipaddress)

2013-10-29 Thread cko
Hi everybody,

I'm trying to write a custom fact that gets the IP Address of any given NIC 
if it matches a specific IP range.

On Linux i use this (works fine) 

Facter.add(ip_foo) do
   setcode do
  Facter::Util::Resolution.exec(/sbin/ifconfig | /bin/grep 
'192.168.20[567].' | /bin/awk '{ print $2 }' | /bin/cut -d':' -f2)
   end
end

Now my Windows Version:

Facter.add(ip_foo_windows) do
   confine :operatingsystem = :windows
   setcode do
  
Facter::Util::Resolution.exec(C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
 
ipconfig | Select-String -pattern '192.168.20[567]' | %{$_.line.split()} | 
FINDSTR 192.168.20[567])
  end
end


When i run the command 
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe 
ipconfig | Select-String -pattern '192.168.20[567]' | %{$_.line.split()} | 
FINDSTR 192.168.20[567] on the box it works perfectly fine. It returns the 
value that i need.

But it seems that puppet doesn't get that value into the fact.


-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/65472ec1-fe7d-4a83-a144-9534419c78e3%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] Custom Windows Fact (match ipaddress)

2013-10-29 Thread Josh Cooper
On Tuesday, October 29, 2013, cko wrote:

 Hi everybody,

 I'm trying to write a custom fact that gets the IP Address of any given
 NIC if it matches a specific IP range.

 On Linux i use this (works fine)

 Facter.add(ip_foo) do
setcode do
   Facter::Util::Resolution.exec(/sbin/ifconfig | /bin/grep
 '192.168.20[567].' | /bin/awk '{ print $2 }' | /bin/cut -d':' -f2)
end
 end

 Now my Windows Version:

 Facter.add(ip_foo_windows) do
confine :operatingsystem = :windows
setcode do

 Facter::Util::Resolution.exec(C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
 ipconfig | Select-String -pattern '192.168.20[567]' | %{$_.line.split()} |
 FINDSTR 192.168.20[567])
   end
 end


Since you've double quoted the string you need to escape the backslashes,
eg C:\\Windows\\...




 When i run the command 
 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
 ipconfig | Select-String -pattern '192.168.20[567]' | %{$_.line.split()} |
 FINDSTR 192.168.20[567] on the box it works perfectly fine. It returns the
 value that i need.

 But it seems that puppet doesn't get that value into the fact.


  --
 You received this message because you are subscribed to the Google Groups
 Puppet Users group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to puppet-users+unsubscr...@googlegroups.com javascript:_e({},
 'cvml', 'puppet-users%2bunsubscr...@googlegroups.com');.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/puppet-users/65472ec1-fe7d-4a83-a144-9534419c78e3%40googlegroups.com
 .
 For more options, visit https://groups.google.com/groups/opt_out.


Josh


-- 
Josh Cooper
Developer, Puppet Labs

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CA%2Bu97uncpMRX6UykTBG5cPnWNG3n9QLm_QVUj5zBjpZmC45U4A%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.