diff --git a/utility.cpp b/utility.cpp
index cec9d8b..ee65cff 100644
--- a/utility.cpp
+++ b/utility.cpp
@@ -63,6 +63,31 @@
     return response.begin()->first;
 }
 
+DbusPropertyMap getAllProperties(sdbusplus::bus::bus& bus,
+                                 const std::string& path,
+                                 const std::string& interface,
+                                 const std::string& service)
+{
+    DbusPropertyMap properties;
+
+    auto serviceStr = service;
+    if (serviceStr.empty())
+    {
+        serviceStr = getService(path, interface, bus);
+        if (serviceStr.empty())
+        {
+            return properties;
+        }
+    }
+
+    auto method = bus.new_method_call(serviceStr.c_str(), path.c_str(),
+                                      PROPERTY_INTF, "GetAll");
+    method.append(interface);
+    auto reply = bus.call(method);
+    reply.read(properties);
+    return properties;
+}
+
 DbusSubtree getSubTree(sdbusplus::bus::bus& bus, const std::string& path,
                        const std::string& interface, int32_t depth)
 {
