Ich versuche, jemandes Kochbuch zu beenden, und ich muss in der Lage sein, Chef die zurückgegebene Ganzzahl von 0 aus diesem Skript abholen (Einige Details wurden entfernt) Irgendwelche Vorschläge, was hier in Chef arbeiten könnte? Ich habe bereits das PowerShell-Modul in Chef hinzugefügt, und speziell frage ich nach der Reihenfolge, in der Chef diese Daten analysieren würde - wie im action: -Element, um diese Variable an ... zu übergeben. Danke.Chef-Kochbuch, das mit einem kleinen Powershell-Skript beginnt, muss den zurückgegebenen Integer-Wert an Chef übergeben
include_recipe "chef_handler
powershell_script do
code <<-EOH
###############
#
# Description:
# Returns 1 if any share or share path allow read/write by the 'Everyone' group (fail)
# Returns 0 if this condition is not found (pass)
Try
{
#get all shares
$shares = e | Select-Object Name,Path
if($shares)
{
Foreach ($share in $shares)
{
#check everyone permissions
$shareAccounts = -Name $share.Name
Foreach ($account in $shareAccounts)
{
If ($account.AName -eq 'Everyone')
{
return 1
}
}
#check
$volumePerm = Get-ACL $share.Path
if ($volume.Access.Where({$Reference -eq 'Everyone'}))
{
return 1
}
}
}
else
return 0
#loop through each share checking for 'Everyone'
# pass the return values send to Chef or something else.
}
{
#build error message
}
Finally
{
#return final message
}
EOH
fail "Instance has failed the OpenShares check" if code == 1
end
Die von uns verwendete Problemumgehung besteht darin, sie in eine tmp-Datei zu schreiben, sie von Chef zurückzulesen und zu löschen. –
Danke Wai Yan, hast du einen Ausschnitt, den du teilen kannst? Daran hatte ich nicht gedacht. :-) –